Помогите запутался в алгоритме

sourcer21

Новичок
Помогите запутался в алгоритме

Есть структура в файле просто текстом вида:

1. Электроника и Фото
1.1. Аудиотехника для дома
1.1.1. Музыкальные центры
1.1.1.1 Что то еще
1.1.2. Магнитолы
1.1.3. Радиоприемники
2. фигня какая то еще
2.1. еще что то

....
и так далее..
.....

Вложенность неизвестна оринттровачно 5 уровней в структуре
Я убрал все пробелы впереди и она стала во такой

1. Электроника и Фото
1.1. Аудиотехника для дома
1.1.1. Музыкальные центры
1.1.1.1 Что то еще
1.1.2. Магнитолы
1.1.3. Радиоприемники
2. фигня какая то еще
2.1. еще что то
.......


Надо ее переделать в базу в структуру вида id | parent_id | name
Вот что я написал:


PHP:
<?
include("dbopen.inc");

$handle = fopen ("txt", "r");
while (!feof ($handle)) {
	$name = fgets($handle, 4096);
	preg_match("/(.*?) (.*?)\r\n/ims",$name,$out);
	$nums=explode(".",$out[1]);
	$nums2=count($nums)-1;
	print $out[1].$out[2]."<br>";

	if($nums2==1)
	{
		$structure_id=$nums[0];
		$parent_id=0;
	} else
	{

		for($i=0;$i<=$nums2-1;$i++)
		$structure_id.=$nums[$i];

		for($i=0;$i<=$nums2-2;$i++)
		$parent_id.=$nums[$i];
		
	}
	$structure_id++;
	$parent_id++;	
	print $structure_id."_".$parent_id."<br>";

	$query="INSERT INTO `structure` ( `structure_id` , `parent_id`, `name`) VALUES ('".$structure_id."','".$parent_id."','".$out[2]."');";
	$result = mysql_query($query, $link);

	$structure_id="";
	$parent_id="";
	$i="";
}
fclose ($handle);

?>
Собсттвенно всё бы ничего, НО!
Так как я сливаю просто цифры для формирования ID и PArent_ID
получается что
1.11
и
11.1
выходит одно и тоже


Помогите выйти из ситуации пожалуйста.
 

DiMA

php.spb.ru
Команда форума
трудности с алгоритмом? а нафиг еще мыскль прикрутил, типа упрощает
мне читать писанину влом, реши проблему без базы для начала

например, пункты в массив конверти:
1.1. Аудиотехника для дома -> $m['1']['1']='Аудиотехника для дома'
а потом уже рекурсивно массив в базу
 
Сверху