|
|
|
|
|
для: Trianon
(10.08.2010 в 01:49)
| | а как тогда вывести это всё в виде дерева?
как-то так чтоли:
<?
$res = mysql_query("SELECT *
FROM tree
ORDER by pid, pos");
$tree = array();
while($r = mysql_fetch_assoc($res)) {
$tree[$r['id']] = $r;
}
function print_comments($pid = 0) {
global $tree;
if(isset($tree[$pid])) {
echo '<ul>';
foreach($tree[$pid] as $idCom => $r) {
echo '<li>'.htmlspecialchars($r['author']).': '.htmlspecialchars($r['post']).'</li>';
print_comments($idCom);
}
echo '</ul>';
}
}
|
| |
|
|
|
|
|
|
|
для: Саня
(09.08.2010 в 22:42)
| | Программист руками сортировать будет? Тогда, конечно, на него.
На сервер приложения вообще-то.
Хотя задачу сортировки можно и на сервере БД оставить:
SELECT id, pid
FROM tree
ORDER by pid, pos
|
| |
|
|
|
|
|
|
|
для: Trianon
(09.08.2010 в 22:22)
| | И переложить задачу сортировки на программиста? | |
|
|
|
|
|
|
|
для: Trianon
(09.08.2010 в 22:22)
| | А что, нет? | |
|
|
|
|
|
|
|
для: Саня
(09.08.2010 в 22:20)
| | а одним запросом вида SELECT id, pid FROM tree поднять всё дерево? | |
|
|
|
|
|
|
|
для: sl1p
(09.08.2010 в 18:56)
| | Использовать рекурсию при запросах к БД - самый настоящий overkill. Nested sets - единственное годное решение для такого случая. | |
|
|
|
|
|
|
|
для: sl1p
(09.08.2010 в 18:56)
| | Кол-во запросов в БД = кол-во комментов * 2. | |
|
|
|
|
|
|
|
для: sl1p
(09.08.2010 в 18:56)
| | Спасибо большое. | |
|
|
|
|
|
|
|
для: lElectroHardl
(09.08.2010 в 18:11)
| | Что такое "рекурсивная функция"?
функция которая вызывает сама себя.
---------------------------------------------------------------------
id
id_parent (по умолчанию 0 если это не ответ)
post
author
<?
function print_comments($pid = 0) {
$res = mysql_query("SELECT * FROM comments WHERE id_parent = {$pid}");
if($res && mysql_num_rows($res)) {
echo '<ul style="margin-left:20px">';
while($r = mysql_fetch_assoc($res)) {
echo "<li>".htmlspecialchars($r['author']).": ".htmlspecialchars($r['post'])."</li>";
}
print_comments($r['id']);
echo '</ul>';
}
}
print_comments();
|
как-то так. | |
|
|
|
|
|
|
|
для: sl1p
(09.08.2010 в 17:10)
| | Что такое "рекурсивная функция"? | |
|
|
|
|