Здравствуйте. Есть функция:function menu($pid, $conn, $cnt){
$sql=mysql_query("SELECT id_page, title FROM pages WHERE id_parent = ".$pid, $conn);
while($mas=mysql_fetch_array($sql)){
echo "<option value='".$mas[0]."'>".(str_repeat("-",$cnt))." ".$mas[1];
menu($mas[0], $conn, $cnt+=1);
}
}Она всё делает правильно, но! Найдя какой-либо элемент, и начиная после него писать вложенные в него элементы, список принимает примерно такой вид:
-Родоначальник
-- элемент 1
--- элемент 2
---- элемент 3
----- элемент 4А нужно так:
-Родоначальник
-- элемент 1
-- элемент 2
-- элемент 3
-- элемент 4И если у элементов будут свои элементы, то так:
-Родоначальник
-- элемент 1
-- элемент-родоначальник 2
---- элемент 1
---- элемент 2
-- элемент 3
-- элемент 4Заранее спасибо!
Оп, кому надо, вот рабочая функция для вывода таких меню, всё сделал:function menu($pid, $conn, $cnt){
$sql=mysql_query("SELECT id_page, title FROM pages WHERE id_parent = ".$pid, $conn);
while($mas=mysql_fetch_array($sql)){
echo "<option value='".$mas[0]."'>".(str_repeat("-",$cnt))." ".$mas[1];
menu($mas[0], $conn, $cnt+=1);
$cnt-=1;
}
}
echo menu(0, $link, 1);1 - с какого парента начать;
2 - коннект к базе;
3 - ставим 1, и начинается с 1 "-";