Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
dmn1992

Помощь с преобразованием данных с базы в многомерные массивы

20.07.2013, 22:43. Показов 811. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Прошу подсказать алгоритм, как можно сделать следующее:
Имеется выборка с базы:
SQL
1
2
3
4
5
6
7
8
9
menu_id           menu_title                  menu_parent
1                    Компьютеры                    0
2                    Ноутбуки                      0
3                    Разное                        0
4                    Компьютеры 1                  1     
5                    Компьютеры 2                  1  
6                    Компьютеры 1.1                4  
7                    Ноутбуки 1                    2
8                    Ноутбуки 2                    2
Из этой выборки нужно сделать многомерный массив:

PHP
1
2
3
4
5
6
7
8
Компьютеры
    Компьютеры 1
        Компьютеры 1.1
    Компьютеры 2
Ноутбуки
    Ноутбуки 1
    Ноутбуки 2
Разное
Вложенность не ограничена. Подскажите пару идей как достинуть такого вида. Спасибо.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.07.2013, 22:43
Ответы с готовыми решениями:

Многомерные массивы
ребят нужна помощь по многомерным массивам допустим у меня уже есть одномерный массив $arr при выводе echo "$arr"; выводит ...

Многомерные массивы
У меня есть 4 переменных в цикле, хочу их сохранить в массив, так что бы потом выводить как таблицу, сортировать и т.д. Мне обязательно...

Foreach и многомерные массивы
Друзья, подскажите как вывести табличкой такой многомерный ассоциативный массив, чтобы ключи определяли поля таблицы? $people=array( ...

1
23 / 23 / 9
Регистрация: 24.04.2010
Сообщений: 220
21.07.2013, 00:03
Можно так:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?PHP    
// Категория может содержать подкатегории и/или товары    
   
// Получить информацию о выбранной категории    
$query = "SELECT title FROM ".TABLE_CATEGORIES." WHERE id_ctg=".$id_ctg;    
$res = db_query( $query );    
$title = db_result( $res, 0, 0 );    
echo "<h3>".$title."</h3>";    
// Показать подкатегории выбранной категории    
$query = "SELECT id_ctg, title FROM ".TABLE_CATEGORIES." WHERE id_parent=".$id_ctg." ORDER BY title";    
$res = db_query( $query );    
if ( db_num_rows($res) > 0 ) // Если есть подкатегории - выводим их список    
{    
    echo "<ul>";    
    while ( $row = db_fetch_row($res) )    
    {    
        echo "<li><a href='".$_SERVER["PHP_SELF"]."?action=getctg&id_ctg=".$row[0]."'>".$row[1]."</a></li>";    
    }    
    echo "</ul>";    
}    
// Показать товары выбранной категории    
$query = "SELECT id_prd, title, price    
               FROM ".TABLE_PRODUCTS."    
               WHERE id_ctg=".$id_ctg." ORDER BY title";    
$res = db_query( $query );
if ( db_num_rows($res) > 0 ) // Если категория содержит товары - выводим их список
{
    echo"<table boder='1'>";    
    echo "<tr>";    
    echo "<th>Наименование</th>";    
    echo "<th>Цена</th>";    
    echo "</tr>";    
    while ( $product = db_fetch_array( $res ) )    
    {
        echo "<tr>";
        echo "<td><a href='".$_SERVER["PHP_SELF"]."?action=getprd&id_prd=".$product["id_prd"]."'>".$product["title"]."</a></td>";    
        echo "<td>".$product["price"]."</td>";    
        echo "</tr>";    
    }    
    echo "</table>";
}    
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.07.2013, 00:03
Помогаю со студенческими работами здесь

Многомерные массивы (парсинг)
Я нуб в массивах, увы, что не так я делаю? есть один массив, многомерный, в котором есть двумерные массивы $resultat = ...

Многомерные массивы в php - есть ли?
Когда мы считываем данные из БД с помощью mysql_fetch_array - то данные записываются в одномерный массив. Существует ли способ записать в...

Сложные типы данных. Многомерные массивы
Ребята выручайте, сижу на лабе. Задание: Определить количество &lt;&lt;особых&gt;&gt; элементов массива D, если этот элемент &lt;&lt;особым&gt;&gt; ,...

Многомерные массивы. Запись и вывод данных
Здравствуйте дорогие форумчане. С праздником вас! Задача: Нужно записать последовательность значений пикселей в трехмерный массив. В...

Сложные типы данных. Многомерные массивы (матрицы)
а теперь многомерные))) Помогите, а?:friends::umnik::wall: Дано (построчно) вещественная матрица размером 5*7. Упорядочить её строки...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru