Вывести рандомно 10 товаров с помощью PhpExcel

У меня есть php скрипт вывода товаров из файла эксель на сайт, без использования БД, с помощью библиотеки PhpExcel. Все работает отлично, но товаров в списке может быть очень много и встал вопрос о выводе рандомно 10 товаров из списка. Как это реализовать?

Вот код:

<?php
 
require_once 'PHPExcel-1.8/Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('catalog.xlsx');
 
$excel->setActiveSheetIndex(0);

echo "<table border='1'>";

$i = 2;

while( $excel->getActiveSheet()->getCell('A'.$i)->getValue() != "") {
    $description = $excel->getActiveSheet()->getCell('A'.$i)->getValue();
    $image = $excel->getActiveSheet()->getCell('B'.$i)->getValue();
    $price_new = $excel->getActiveSheet()->getCell('C'.$i)->getValue();
    $price_old = $excel->getActiveSheet()->getCell('D'.$i)->getValue();
    $discount = $excel->getActiveSheet()->getCell('F'.$i)->getValue();
    
    echo "
        <tr>
            <td>".$description."</td>
            <td><img src='images/".$image."' width='150' height='150'></td>
            <td>".$price_new."</td>
            <td><s>".$price_old."</s></td>
            <td>".$discount."%</td>
        </tr>
    ";
    $i++;
}

echo "</table>";

?>


Ответы (1 шт):

Автор решения: user512683

Есть решение! Может кому-то понадобится. Спасибо Acvoloe с хабра за наводку

<?php

require_once 'PHPExcel-1.8/Classes/PHPExcel.php'; $excel = PHPExcel_IOFactory::load('catalog.xlsx');

$excel->setActiveSheetIndex(0);

echo "";

$count = 0;

for ($i=2; $excel->getActiveSheet()->getCell('A'.$i)->getValue() != ""; $i++) $count = $i;

for ($a=0; $a < 10; $a++) { $key = rand(2,$count);

$description = $excel->getActiveSheet()->getCell('A'.$key)->getValue();
$image = $excel->getActiveSheet()->getCell('B'.$key)->getValue();
$price_new = $excel->getActiveSheet()->getCell('C'.$key)->getValue();
$price_old = $excel->getActiveSheet()->getCell('D'.$key)->getValue();
$discount = $excel->getActiveSheet()->getCell('F'.$key)->getValue();

echo "
    <tr>
        <td>".$description."</td>
        <td><img src='images/".$image."' width='150' height='150'></td>
        <td>".$price_new."</td>
        <td><s>".$price_old."</s></td>
        <td>".$discount."%</td>
    </tr>
";

}

echo "";

?>

→ Ссылка