Вывести в ul по n записей из бд

Raver

Новичок
Добрый вечер, форумчане.

Возникла задача:
Вывести все записи из таблицы brands в списки ul > li по 5 штук в каждой.

Сижу уже около часа пытаюсь реализовать, но все бессмысленно.

Может сталкивался кто с подобной задачей?


Вот, что я тут намудрил
PHP:
$sql_count_brands = mysql_query("SELECT COUNT(*) FROM `brands`");
                        $count_brands = mysql_fetch_array($sql_count_brands);

                        $count_brands = $count_brands[0];
                        $limit = 5;
                        $count = 1;
                        $repet = 1;


                        $sql_brands = "SELECT * FROM `brands` ORDER BY `id` DESC";
                           $brands = mysql_query($sql_brands);
                           $brands_row = mysql_fetch_array($brands);
    
                           do {
                               if (($count == 1) or ($limit*$repet+1 == $count)) {
                                   echo "<ul>";
                               }

                            $brand_echo = "<li><a href='%d'>%s</a></li>";
                            echo sprintf($brand_echo, $brands_row['id'], $brands_row['name']);

                            if (($count == $count_brands) or ($limit*$repet == $count)) {
                                   echo "</ul>";
                               }

                            if ($count == $limit*$repet) {
                                   $repet = $repet + 1;
                               }
                               $count = $count + 1;
                        }
                        while($brands_row = mysql_fetch_array($brands));
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Raver, взять книгу, ссылки на форуме есть, в этом разделе. Прочитать, освоить материал. Избавиться от говна вида do/while + sprintf. Написать все то же самое, только без выборок из базы, поняв, как именно тебе надо использовать логику начала и конца <ul><li>списка</li></ul>. Добавить выборку из базы с приобретенными знаниями.
 

Фанат

oncle terrible
Команда форума
Добавлю ссылку на еще одну, которая особенно хороша в сочетании с предыдущей. http://php.net/manual/ru/pdostatement.fetchall.php
Но особых иллюзий не питаю - жертвам видеокурсов попова ее все равно не осилить.
 

antson

Новичок
Партнер клуба
а при нормальном подходе это решается на уровне шаблонизатора (twig или smarty) .

псевдокод
Код:
<ul>
{по всем элементам как переменная}
<li>вывод</li>
{если итерация кратна 5 } </ul><ul>{/кесли}
{/конецповсем}
</ul>
 

scorpion-ds

Новичок
а при нормальном подходе
Каждую осень зарождаются новые программисты, лучше если они пройдут путь понимания сами, чем к примеру начнут сразу педалить на Yii ..., или в случае с фронтами станут JQuery программистами, при этом не понимая, что такое JS и даже самых обыкновенных циклов и условий ...
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@antson, наличие в шаблонизаторах тех или иных "плюшек" не учит начинающих разбивать задачу на части и вырабатывать комплексный подход.
 
Сверху