У меня есть таблица категорий, которая включает 35 категорий внутри. Я хочу, чтобы они выровнялись в четыре div с одним циклом while.
<?php
$count = 0;
$cat = pullcategories();
$catcount = mysqli_num_rows($cat);
$percat = ceil($catcount / 4);
$topcats = pulltopcategories($count, $percat);
//same with pullcategories, just LIMIT $count,$per //
while ($topcats = mysqli_fetch_object($topcats)) {
?>
<div class = "col3">
<ul class = "list-unstyled list-dashed">
<li>
<a href = "">$topcats->title</a>
</li>
</ul>
</div>
<?php
$count = $count + $percat;
$percat = $percat * 2;
}
?>
@Virb Кажется, ошибки нет, просто спрашиваю, как это сделать
Что вы получаете со своим кодом?
Что на самом деле делает опубликованный вами код? Это попытка решить вашу проблему или вы просто ожидаете, что мы проведем рефакторинг вашего кода за вас? Вы всегда должны сначала пробовать решить проблему самостоятельно. Затем, если вы столкнетесь с какой-либо конкретной проблемой при попытке, вам необходимо показать нам ожидаемый результат и результат, который вы действительно получаете.
На самом деле мой код не выдал мне ошибки, я просто думаю, что это неправильно. Довольно новичок там. Я просто не мог понять эту концепцию разделения нескольких столбцов моих данных sql.
@DriererKar: Ваши усилия принимаются, но если вы потерпите неудачу или получите ошибку в коде, попросите о помощи, иначе мы не поможем.
@DriererKar Я хочу, чтобы они выровнялись в четыре div с одним циклом while., значит, в цикле вы хотите отображать 4 категории на каждый div, верно?
Не совсем. Как я уже сказал, в моей таблице 35 данных. Я хочу равномерно распределить данные по четырем отдельным div.






$count = 0;
$cat = pullcategories();
$catcount = mysqli_num_rows($cat);
$percat = ceil($catcount / 4);
$topcats = pulltopcategories($count, $percat);
Это разбивает ваши списки на 4 части, и вам нужно будет вызвать «$ topcats = pulltopcategories ($ count, $ percat);» 4 раза, чтобы получить возможность просмотреть все данные.
Я бы изменил это на что-то вроде этого. Предполагая, что "pulltopcategories ($ count, $ percat)" использует count как предел, а percat как смещение в SQL, это должно работать.
Пожалуйста, дайте мне знать - я могу исправить любые ошибки, если они есть (мой PHP немного ржавый, и у меня нет данных, чтобы попробовать это)
<?php
$count = 0;
$cat = pullcategories();
$catcount = mysqli_num_rows($cat);
$percat = ceil($catcount / 4);
while ($count < catcount){ /* Loop until you have finished all cats */
$topcats = pulltopcategories($count, $percat);
echo "<div class = "col3">
<ul class='list-unstyled list-dashed'>";
while ($topcats = mysqli_fetch_object($topcats)) {
echo "<li>
<a href=''>$topcats->title</a>
</li>"
}
echo "</ul>
</div>";
$count = $count + $percat;
}
?>
В чем твоя ошибка?