function rekurs($id,$p,$start,$num)
{
$q=mysql_query("SELECT * FROM news_comments WHERE s_id='$id' AND n_id=1 ORDER BY date ASC LIMIT $start, $num");
if (mysql_num_rows($q) > 0)
{
while ($row = mysql_fetch_array($q))
{
$p = $p+5;
echo '<table width="90%" border="0" align="center" cellpadding="5" cellspacing="0"><tr><td width="'.$p.'%" bgcolor="silver"></td><td width="100%">'.$row[text].'</td></tr></table>'; echo "\n";
rekurs($row[id],$p,$start,$num);
$p=$p-5;
}
}
}
rekurs(0,-5,$start,$num);
рекурсия с постраничным выводом не хочет пахать?
Код:
вообщем $start и $num это для постраницного вывода
так вот когда $start=0; и $num=(например 2) - на первой сранице он выводит всё как полагается, но если $start=2; и $num=2 тоесть вторая страница.
Он выводит только строки с S_ID=0
Не могу понять почему :(
ПОДСКАЖИТЕ.
Заранее благодарен!
ЗЫ если честно - вообще бред какой-то а не код
не мог бы подсказать как было бы лучше?
Опишите что вы хотите написать (тк по этому коду я не смог понять задумки)
так чтобы на одной странице было скажем 30 коментов
и на каждый комент можно ответить (бесконечно)
А рекурсия зачем ? Или слямзил чужой код и не знаешь как прилепить ?
говорю же - учусь
больше ничего в голову не пришло кроме этого
Если комменты линейны (то есть без иерархии) - тогда получаем номер страницы, запросом считаем сколько всего комментов к данной статье, далее считаем сколько всего страниц получается: ceil(ЗАПИСЕЙ_ВСЕГО / МАКСИМАЛЬНО_ЗАПИСЕЙ_НА_СТРАНИЦУ). ну и далее выводим инфу для текущей страницы
Если есть иерархия - тогда нужно по сути реализовывать дерево в БД. По этой теме достаточно много инфы. гугл и тЫндекс тебе в помощь.
Можно также покопать на сайте sql .ru