Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: построение массива(для многоуровневого меню)
 
 автор: krollik   (02.11.2006 в 18:17)   письмо автору
 
 

Вот есть таблица:

id|parent|name
parent - id значения род каталога

Подскажите функцию для вывода значений таблицы в такой массив, который бы было хорошо вывести в шаблонах Samrty

   
 
 автор: kasmanaft   (02.11.2006 в 19:40)   письмо автору
 
   для: krollik   (02.11.2006 в 18:17)
 

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

   
 
 автор: krollik   (02.11.2006 в 19:46)   письмо автору
 
   для: kasmanaft   (02.11.2006 в 19:40)
 

ну я то понял, что такой функции нету, я имел ввиду, мот кто писал такое уже.. вроде как такие структуры счас встречаться повсеместно..

   
 
 автор: krollik   (03.11.2006 в 10:37)   письмо автору
 
   для: krollik   (02.11.2006 в 19:46)
 

вопрос всё ещё актуален.
может выше я плохо обьяснил, вот тогда более полный вопрос
----------
Вот есть таблица:

id|parent|name
parent - id значения род каталога

Надо как-то вывести все значение в массив так, чтобы потом этот массив можно было удобно вывести в деревообразной форме в шаблоне Smarty. Что-то у меня никак не получается.. =(
Я думал что было бы хорошо вывести его ввиде
[0]->[1]->[3],[4]
____[2]->[5]->[6],[7]
Тогда можно было бы неплохо вывести их в Smarty, вот только у меня не получается создать массив такой структуры =( Помогите пожалуйста.

   
 
 автор: Trianon   (03.11.2006 в 11:10)   письмо автору
 
   для: krollik   (03.11.2006 в 10:37)
 

<?
$sql 
"SELECT id, parent, name FROM tab";
$res mysql_query($sql) or die("Error in $sql: ".mysql_error());
$tree = array(); $names = array();
while(
$row mysql_fetch_row($res))
{
    list(
$id$parent$name) = $row;
    
$tree[$parent][] = $id;
    
$names[$id] = $name;
}
?>

   
 
 автор: krollik   (03.11.2006 в 15:50)   письмо автору
 
   для: Trianon   (03.11.2006 в 11:10)
 

мда =) что-то меня переклинило =) всё оказалось так легко =)
---------
Хотя что-то не очень =(
Что-то не получаеться нормально вывести значения. Тогда в шаблоне SMARTY надо будет применять рекурсию на функции =( а как это сделать что-то я не пойму..

   
 
 автор: ddhvvn   (03.11.2006 в 16:41)   письмо автору
 
   для: krollik   (03.11.2006 в 15:50)
 

Функция, вызвывающая сама себя (рекурсия)
Пример (может быть неудачный, просто думалка седня не работает:))
<?php

  
function recurs($param)
  {
    while (
$param 5)
       {
             
$param++;
             
recurs($param);
       }
  }

?>

   
 
 автор: krollik   (03.11.2006 в 17:03)   письмо автору
 
   для: ddhvvn   (03.11.2006 в 16:41)
 

это я знаю +) а как это реализовать в шаблонах смарти?
Что-то я вообще не вижу рацианального вывода древообразного массива в шаблонах смарти =( помогите пожалуйста, а то проект простаивает =(

   
 
 автор: Trianon   (03.11.2006 в 17:32)   письмо автору
 
   для: krollik   (03.11.2006 в 15:50)
 

Я отвечал только на часть вопроса, которая касается формирования дерева. Изобразительные возможности смарти мне неизвестны.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования