С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207

Вывод категорий и подкатегорий

17.01.2015, 21:03. Показов 4801. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, господа!
Нужна помощь!

Есть код:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
while($result1 = mysql_fetch_array($choose_category))
    {
        $disksCategory = $result1['disksCategory'];
                                
            echo '<tr>';
                echo '<td colspan="4" align="center">'.$disksCategory.'</td>';
            echo '</tr>';
            
                while($result = mysql_fetch_array($choose_disk))
                
                    {
                        $diskArticle = $result['diskArticle'];
                        $diskName = $result['diskName'];
                        $diskQuantity = $result['diskQuantity'];
                        $diskCategory = $result['diskCategory'];
                        
                        
                        echo '<tr class="hover">';
                            echo '<td>'.$diskArticle.'</td>';
                            echo '<td>'.$diskName.' <b>('.$diskCategory.')</b></td>';
                            echo '<td><input name="diskQuantityOrder[]" align="center" type="text" size="3" maxlength="3" value="'.$diskQuantityOrder.'" form="orderEnd"></td>';
                            echo '<td align="center">'.$diskQuantity.'</td>';
                            echo '<input name="diskName[]" type="hidden" value="'.$diskName.'" form="orderEnd">';
                            echo '<input name="diskArticle[]" type="hidden" value="'.$diskArticle.'" form="orderEnd">';
                        echo '</tr>';
                    }
    }
Мне нужно вывести в таблице категории и подкатегории в виде:

категория
подкатегория
подкатегория
подкатегория
....

категория
подкатегория
подкатегория
подкатегория
.... и тд


Сейчас выводится в виде:

категория
все подкатегории

категория
категория
... и т.д.

Не пойму, что я не так делаю???
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.01.2015, 21:03
Ответы с готовыми решениями:

Организация категорий и подкатегорий
Здравствуйте! :) Вопрос следующий: как создать каталоги, далее подкаталоги, и затем конечные страницы? Ну, то есть, к примеру:...

Вывод категорий
Вообще хочу реализовать вывод статей по категории, но я хз как сделать. Вообще можно через id Только я хочу что бы было например ...

Вывод названия категорий
Имеется две таблицы, в первой имя и catid категории, а второй сам пост, где в одном из столбцов написана категория (1,2,3..). Так вот...

7
32 / 31 / 21
Регистрация: 13.07.2014
Сообщений: 374
17.01.2015, 21:20
while($result1 = mysql_fetch_array($choose_category))
* * {
* * * * $disksCategory = $result1['disksCategory'];
echo '<tr>';
* * * * * * * * echo '<td colspan="4" align="center">'.$disksCategory.'</td>';
* * * * * * echo '</tr>';
while($result = mysql_fetch_array($choose_disk)) здесь нуджно занова подключиться к бд с условиев WHERE disksCategory = '{$result1['disksCategory']}'
{
* * * * * * * * * * * * $diskArticle = $result['diskArticle'];
* * * * * * * * * * * * $diskName = $result['diskName'];
* * * * * * * * * * * * $diskQuantity = $result['diskQuantity'];
* * * * * * * * * * * * $diskCategory = $result['diskCategory'];[/quote]
...
1
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
17.01.2015, 23:59  [ТС]
PHP
1
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
что и выводилось ранее при подобной попытки.

А, если не секрет, для чего к БД еще раз подключаться, если все данные и так выводятся???

Я подозреваю, что можно через вложенный foreach реализовать, только не совсем представляю как это сделать.

Добавлено через 2 часа 28 минут
PHP
1
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
что и выводилось ранее при подобной попытки.

А, если не секрет, для чего к БД еще раз подключаться, если все данные и так выводятся???
Что это за такая конструкция с фигурными скобками disksCategory = '{$result1['disksCategory']}'?
И для чего сравнивать между собой 1 поле в 1 таблице, где находятся только значения категорий?

Я подозреваю, что можно через вложенный foreach реализовать, только не совсем представляю как это сделать.
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
19.01.2015, 12:50  [ТС]
До сих пор не могу разобраться. Может кто все-таки поможет?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
19.01.2015, 12:57
Лучший ответ Сообщение было отмечено Пифагор как решение

Решение

Пифагор, Вы пробегаетесь циклом по всем категориям. Но при этом, как Вам и указали выше, во внутреннем цикле нужно так же обращаться к подкатегориям данной категории.

PHP
1
2
3
4
5
6
7
8
9
10
$result = mysql_query() // тут получаете список категорий
while ($result1 = mysql_fetch_array())
{
     // тут выводите категорию
     $result2 = mysql_query() // тут получаете список подкатегорий к каждой категории
     while ($result1 = mysql_fetch_array())
     {
          // тут выводите подкатегории
     }
}
1
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
19.01.2015, 13:34  [ТС]
Цитата Сообщение от WeMeSder Посмотреть сообщение
здесь нуджно занова подключиться к бд
Ёлки-булки! Я понял это буквально!!!
А я как последний ..... include db делал и думаю Чего ж не получается???

Спасибо. Вечером отпишусь о результе.

Добавлено через 2 минуты
Главное, даже фильтр по категориям из выпадающего списка сделал за 20 минут, а это ну никак не мог догнать...

Добавлено через 1 минуту
Цитата Сообщение от pav1uxa Посмотреть сообщение
PHP
1
$result = mysql_query() // тут получаете список категорий while ($result1 = mysql_fetch_array()) { // тут выводите категорию $result2 = mysql_query() // тут получаете список подкатегорий к каждой категории while ($result1 = mysql_fetch_array()) { // тут выводите подкатегории } }
Мне кажется, что тут ошибка в названиях переменных $result.

Вот такие имена, мне кажется, должны быть:
PHP
1
2
3
4
5
6
$result = mysql_query() // тут получаете список категорий
while ($result = mysql_fetch_array())
{
     // тут выводите категорию
     $result1 = mysql_query() // тут получаете список подкатегорий к каждой категории
     while ($result1 = mysql_fetch_array())
Или я ошибаюсь?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
19.01.2015, 18:02
Цитата Сообщение от Пифагор Посмотреть сообщение
Мне кажется, что тут ошибка в названиях переменных $result.
это для примера было... Вы можете назвать все переменные по разному, можете сделать так как я написал, но так как Вы написали точно нельзя... Когда начнете реализовывать поймете.
1
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
19.01.2015, 19:38  [ТС]
Да, моя ошибка. Писал второпях.

Все получилось!!! Большое ВСЕМ СПАСИБО!!!
Что ни день, то открытие!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2015, 19:38
Помогаю со студенческими работами здесь

Правильный вывод категорий
Здравствуйте! Вывожу категории таким методом. $cat_id = isset( $_GET ) ? intval( $_GET ) : 0; $result_cat = mysql_query...

Рекурсивный вывод категорий
Есть рекурсивная функция, которая выводит меню(категории и подкатегории). Как выровнить ее по горизонтали? Пытался сделать с Submenu(ul) но...

Вывод категорий в меню
Всем привет! Есть таблица &quot;Категории&quot;, которая содержит 3 поля: id_kat, Название категории, id_parent(ид_родителя- подкатегории). Как мне...

Рекурсивный вывод категорий из таблицы
Есть таблица: cat_id | parent_id | name 1 | 0 | category1 2 | 1 | category2 3 | 0 |...

Вывод категорий в боковое меню
Привет всем, столкнулся с такой проблемой - не выводятся категории в меню, делал все по примеру (по учебе), пример оказался криворукий,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru