Циклы, циклы, куча циклов.

grin

Guest
Циклы, циклы, куча циклов.

PHP:
Есть таблица в Mysql, ее вид:
id	|	number	|	name
1	|	1		|	name1
2	|	2		|	name2
3	|	5		|	name5
4	|	1_1		|	name1_1
5	|	1_2		|	name1_2
6	|	2_1		|	name2_1
7	|	3		|	name3
8	|	1_2_1	|	name1_2_1
9	|	2_1_1	|	name2_1_1
10	|	2_2		|	name2_2
11	|	2_1_1_1	|	name2_1_1_1
12	|	2_1_2	|	name2_1_2и т.д.

Нужно получить на странице:
name1
	name1_1
	name1_2
		name1_2_1
name2
	name2_1
		name2_1_1
			name2_1_1_1
		name2_1_2
	name2_2
name3
name5

Делаю так:


$r = mysql_query("select * from documents where number regexp \"^[0-9]{1,2}$\"");
for($i = 0; $i < mysql_numrows($r); $i++) {
	$f=mysql_fetch_array($r);
	echo $f[name_doc]."<br>";
	$rr = mysql_query("select * from documents where number regexp \"^".$f[id_id]."_[0-9]{1,2}$\"");
	for($ii = 0; $ii < mysql_numrows($rr); $ii++) {
		$ff=mysql_fetch_array($rr);
		echo "&nbsp;&nbsp;".$ff[name_doc]."<br>";
	}
}
А дальше как? т.е. следующий ряд я конечно выведу, а если будет например name2_2_1_1_2, так for`ов можно кучу наделать.
Меня интересует именно алгоритм, вообще как делаются такие циклы.
 

RomikChef

Guest
а order by number не пробовали?
Количество нбсп высчитывать из длины нумбера.
 

grin

Guest
RomikChef
привет с иксбита :)

а order by number не пробовали?
Количество нбсп высчитывать из длины нумбера.
тоже мысль, но все это как то не правильно, я имею в виду number мой. С классом dbtree все супер, так что думаю лучше им воспользоваться.
 
Сверху