Forum Webscript.Ru

Программирование => PHP => Тема начата: lbpf от 28 Апреля 2006, 11:09:23

Название: Проблема с меню из массива
Отправлено: lbpf от 28 Апреля 2006, 11:09:23
Есть массив
a [id] [parent_id] [name_cat]  где

id - № элемента,
parent_id - № родителя
name_cat - название


Как правильно сделать цикл для перебора и вывести это дело списком
Название: Проблема с меню из массива
Отправлено: ferryman от 28 Апреля 2006, 11:13:33
for, foreach, while -тебе поможет
Название: Проблема с меню из массива
Отправлено: lbpf от 28 Апреля 2006, 11:39:58
Ну так я и спрашиваю как правильно построить цикл :)
Название: Проблема с меню из массива
Отправлено: ferryman от 28 Апреля 2006, 12:27:22
За тебя ЭЭЭЭлементарные вещи никто писать не будет...
Название: Проблема с меню из массива
Отправлено: lbpf от 28 Апреля 2006, 12:36:16
злобные вы какие-то :(
Название: Проблема с меню из массива
Отправлено: html_coder от 28 Апреля 2006, 15:15:12
Выведи свой массив при помощи функции print_r (http://php.rinet.ru/manual/ru/function.print-r.php)


echo \'
\';
print_r($a);
echo \'
\';


и тебе сразу станет понятно как построить цикл и вывести это списком...

Если будет непонятно пиши, что-нибудь придумаем! )
Название: Проблема с меню из массива
Отправлено: lbpf от 28 Апреля 2006, 15:42:20
Ну я представляю что выведется, но к сожалению на мысли это не наводит :(
Название: Проблема с меню из массива
Отправлено: html_coder от 28 Апреля 2006, 16:11:23
Ты сделал как я тебя сказал или ты только представил?
Название: Проблема с меню из массива
Отправлено: lbpf от 28 Апреля 2006, 16:15:33
сделал:
Array
(
   
        (
            [ID] => 5
            [PARENT_ID] => 0
            [NAME] => "меню 5"
            [COLOR] => 0
        )

    [1] => Array
        (
            [ID] => 15
            [PARENT_ID] => 0
            [NAME] => "меню 15"
            [COLOR] => 0
        )

    [2] => Array
        (
            [ID] => 19
            [PARENT_ID] => 0
            [NAME] => "меню 19"
            [COLOR] => 0
        )

..........................................
Название: Проблема с меню из массива
Отправлено: html_coder от 28 Апреля 2006, 16:52:06
А ты до какой вложенности планируешь делать?
Название: Проблема с меню из массива
Отправлено: lbpf от 28 Апреля 2006, 17:02:11
всего более тысячи категорий, ну и соответственно вложенность
Название: Проблема с меню из массива
Отправлено: html_coder от 28 Апреля 2006, 17:11:14
Вот читай это то, что тебе нужно http://phpclub.ru/detail/article/2002-06-03 (http://phpclub.ru/detail/article/2002-06-03)
Название: Вот нашел ответ
Отправлено: lbpf от 02 Мая 2006, 16:11:29
Адрес статьи: http://www.activex.net.ru/docs/phpdtree.shtml (http://www.activex.net.ru/docs/phpdtree.shtml)

Построение DHTML-дерева с информацией из БД (PHP / MySQL)

Напишем скрипт, который формировал бы DHTML-дерево на стороне клиента на основе информации из таблицы БД. Основным преимуществом построения дерева на клиенте является то, что мы один раз отдаем сформированный код, а затем без обращений к серверу работаем с построенным деревом.
За основу для построения DHTML-дерева возьмем отличный скрипт dtree с сайта  http://www.destroydrop.com/ (http://www.destroydrop.com/).
Иерархию разделов будем хранить в таблице базы данных MySQL.
Ниже таблица (catalogue):

# id - первичный ключ таблицы
# pid - id родительского раздела
#title - название

Далее напишем следующий PHP-скрипт:
1. Файл dbopen.php (открывает соединение с MySQL)


  $hostName = "localhost";
  $userName = "user";
  $password = "password";
  $databaseName = "tree";
  if (!($link=mysql_connect($hostName,$userName,$password))) {
 printf("Ошибка при соединении с MySQL !\\n");
 exit();
 }
  if (!mysql_select_db($databaseName, $link)) {
 printf("Ошибка базы данных !");
 exit();
 }
?>
 

2. Файл index.php (основной скрипт)



include( "dbopen.php" );

$sSQL = "SELECT id, title, pid FROM catalogue ORDER BY title";

$result = mysql_query($sSQL, $link);

?>















раскрыть дерево |

свернуть дерево












mysql_close($link);

?>
 

Пример работы в прикрепленном файле.

Пример проекта прилагается: phpdtree.zip (http://www.activex.net.ru/cgi-bin/download.cgi?file=phpdtree.zip)

Все прекрасно работает. Каталог состоит из более 1000 разделов.
Название: Проблема с меню из массива
Отправлено: CGVictor от 02 Мая 2006, 17:00:10
lbpf
...и в итоге решил клиентским скриптом. Замечательно.

При чем здесь PHP?
Тема закрыта.