Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Многоуровневое меню php+mysql - PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: вывод данных из нескольких таблиц
ntym
Отправлено: 14 Июля, 2016 - 17:16:13
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Сент. 2014  


Помог: 0 раз(а)




День добрый.
Прежде чем начнете писать мол пользуйся поиском, честно долго искал, но не нашел такого варианта как мне нужно, а нужно мне следующее:


1. Категория
1.1 Подкатегория
1.1.1 Подкатегория
1.1.1.1 Подкатегория




Каждая из них берется из свой таблицы, для примера:
Название основной таблицы: stock_cat
cat_id,
cat_name

Подкатегория:

Название таблицы: stock_cat2
cat_id
sab_cat2_id,
cat2_name

Подкатегория:

Название таблицы: stock_cat3
cat_id2
sab_cat3_id,
cat3_name

Подкатегория:

Название таблицы: stock_cat4
cat_id3
sab_cat4_id,
cat4_name

Получается вот такое:
Системный блок > Оперативная память > DDR3 > 4Gb


Не могу сообразить как организовать и вывести это все, помогите пожалуйста. Заранее спасибо!
 
 Top
ntym
Отправлено: 21 Июля, 2016 - 14:23:29
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Сент. 2014  


Помог: 0 раз(а)




Не получилось решить вопрос таки образом, как была поставлена задача. Вопрос был решен выборкой из одной таблицы
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /**
  4.  * PHP4
  5.  * Постоение дерева (меню неограниченной вложености)
  6.  * Метод читает из таблицы category все сточки, и
  7.  * возвращает двумерный массив, в котором первый ключ - id родителя
  8.  * категории (parent_id)
  9.  * @return Array
  10.  */
  11. function getCategory() {
  12.     $query = mysql_query("SELECT * FROM `shop_cat`");
  13.     $result = array();
  14.     while ($row = mysql_fetch_array($query)) {
  15.         $result[$row["parent_id"]][] = $row;
  16.     }
  17.     return $result;
  18. }
  19.  
  20. //В переменную $category_arr записываем все категории
  21. $category_arr = getCategory();
  22.  
  23. /**
  24.  * Вывод дерева
  25.  * @param Integer $parent_id - id-родителя
  26.  * @param Integer $level - уровень вложености
  27.  */
  28.  
  29. function outTree($parent_id, $level) {
  30.     global $category_arr; //Делаем переменную $category_arr видимой в функции
  31.     if (isset($category_arr[$parent_id])) { //Если категория с таким parent_id существует
  32.        
  33.         foreach ($category_arr[$parent_id] as $value) { //Обходим
  34.             /**
  35.              * Выводим категорию
  36.              *  $level * 25 - отступ, $level - хранит текущий уровень вложености (0,1,2..)
  37.              */
  38.                  
  39.             echo "<ul class='nav nav-pills nav-stacked' ><li ><a href='#' style='padding-left:" . ($level * 15) . "px;'>" . $value["parent_id"] . " | " . $value["cat_name"] . "</a></li></ul>";
  40.             $level = $level + 1; //Увеличиваем уровень вложености
  41.             //Рекурсивно вызываем эту же функцию, но с новым $parent_id и $level
  42.             outTree($value["cat_id"], $level);
  43.             $level = $level - 1; //Уменьшаем уровень вложености
  44.              
  45.         }
  46.     }
  47. }
  48.  
  49. outTree(0, 0);
  50.  
  51. ?>
  52.  


Внимание вопрос,может ктото подсказать, как этот код, совместить с css и реализовать меню гармошку ???
 
 Top
Faraon-san
Отправлено: 22 Июля, 2016 - 10:44:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB