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

Форум MySQL

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

 

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

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

тема: Вывести дерево (parent_id, level) одним запросом
 
 автор: mastergrom   (06.03.2009 в 13:38)   письмо автору
 
 

Добрый день!
Поискал на форуме по сабжу, ничего конкретного не нашел, поэтому решил создать тему, в которой , надеюсь, тема будет раскрыта :)
Есть таблица: tree

id | parent_id | level | name


Интересует следующее:
можно ли одиним запросом получить данные из таблицы в виде дерева ?
То есть, какое условие сортировки, или какой запрос должен быть что-б при получении результата можно было сделать что-то вроде:
$query = 'SELECT * FROM tree';
$result = mysql_query($query);
if (mysql_num_rows($result)>0) {
echo "<ul>";
while ($row = mysql_fetch_array($result)) {
 echo "<li style='margin-left:".($row['level']*5)."px;'">{$row['name']}</li>";

}
echo "</ul>";

}


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

Вобзможно ли вывод дерева таблицы с такой структурой одним запросом?

  Ответить  
 
 автор: Trianon   (06.03.2009 в 17:21)   письмо автору
 
   для: mastergrom   (06.03.2009 в 13:38)
 

http://softtime.ru/forum/srch.php?id_forum=3&name=Adjacency&numberthemes=30&srchwhere=2&id_forum=3&logic=1

  Ответить  
Rambler's Top100
вверх

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