Ситуация такая... Возникла потребность написать дерево катологов. Список катологов находится в таблице, иерархия осуществляется с помощью двух столбцов id и parent, parent показывает какой у каталога папа.
нашел код, который хватило мозгов понять, попробывал, все работает :
$query = mysql_query("select * from test");
while ($r = mysql_fetch_array($query)) {
if ($r['parent']==0){
echo ''.$r['id'].'<br />';
in($r['id'],$r['parent']);
}
}
function in($id,$pid) {
$query = mysql_query("select * from test where parent=".$id."");
while ($r = mysql_fetch_array($query)) {
//echo "<br />";
for ($i=0; $i<$pid; $i++){
echo " ";
}
echo ''.$r[id].'<br />';
in($r[id],$r[parent]);
}
}
Но тут дураку понятно, что при большом количестве каталогов, функция in будет делать много запросов.
Хотелось бы узнать из вашего опыта, может ли возникнуть ситуация, когда сайт повиснит из за этих запросов.
Читал,что в секунду может быть десятки тысяч и не тормозить, а может быть 20 и вызывать большую нагрузку.