


PHP. Разбить массив на куски и вывести на экран в разных дивах.
ИЗ бд прилетает массив с данными порядка 100 строк, и записывается в переменную, далее с помощью foreach данные из переменной показываются в блоке. Всё бы хорошо, но получается один блок div с сотней строк внутри, то есть очень длинный. Как сделать, чтобы в одном блоке показывались данные из массива от 1 до 10, во втором - от 11 до 20 и т д ?
Хочу сделать так, чтобы потом скрыть лишние блоки и показывать их по нажатию кнопки. Или есть какие-то варианты получше?
Если оставить перебор массива через foreach, то внутри после каждого десятого (признак делимости на 10) рисовать закрытие и открытие дива.
Примерно так:
echo 'div (тэг)';
$i = 1;
foreach($array as $arr) {
....
if($i % 10 = 0) {
echo '/div div (закрытие и открытие дива)';
}
$i++;
}
echo '/div закрытие дива';
Получится, что по 10 будут запихиваться в див, если останется меньше 10 на последний виток, то они тоже пойдут в контейнер
сделать постраничный вывод и не париться, либо при запросе в БД установить лимит в 10 записей.
array_chunk