PHP: разделение результата mysql на четыре div

У меня есть таблица категорий, которая включает 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 04.04.2018 11:16

@Virb Кажется, ошибки нет, просто спрашиваю, как это сделать

James Lingham 04.04.2018 11:18

Что вы получаете со своим кодом?

Virb 04.04.2018 11:18

Что на самом деле делает опубликованный вами код? Это попытка решить вашу проблему или вы просто ожидаете, что мы проведем рефакторинг вашего кода за вас? Вы всегда должны сначала пробовать решить проблему самостоятельно. Затем, если вы столкнетесь с какой-либо конкретной проблемой при попытке, вам необходимо показать нам ожидаемый результат и результат, который вы действительно получаете.

Magnus Eriksson 04.04.2018 11:20

На самом деле мой код не выдал мне ошибки, я просто думаю, что это неправильно. Довольно новичок там. Я просто не мог понять эту концепцию разделения нескольких столбцов моих данных sql.

Drierer Kar 04.04.2018 11:21
"просто это неправильно, я думаю" - Значит, вы спрашиваете нас еще до того, как тестировали? Это делает все наоборот.
Magnus Eriksson 04.04.2018 11:23

@DriererKar: Ваши усилия принимаются, но если вы потерпите неудачу или получите ошибку в коде, попросите о помощи, иначе мы не поможем.

Virb 04.04.2018 11:26

@DriererKar Я хочу, чтобы они выровнялись в четыре div с одним циклом while., значит, в цикле вы хотите отображать 4 категории на каждый div, верно?

Rajdeep Paul 04.04.2018 11:41

Не совсем. Как я уже сказал, в моей таблице 35 данных. Я хочу равномерно распределить данные по четырем отдельным div.

Drierer Kar 04.04.2018 11:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
9
46
1

Ответы 1

                $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;
               }
?>

Другие вопросы по теме