peshkov
Новичок
Помогите с деревом каталога
Есть скрипт кторый выводит дерево каталога
Проблема в следующем дерево каталога выводиться неправельно
помогите разобраться или посоветуйте что можно зделать только без javascript
SQL Dump
CREATE TABLE `menu` (
`id` int(11) NOT NULL auto_increment,
`pid` int(11) NOT NULL default '0',
`name` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=14 ;
--
-- Дамп данных таблицы `menu`
--
INSERT INTO `menu` VALUES (1, 0, 'qwwwq');
INSERT INTO `menu` VALUES (2, 0, 'qwwwq 2');
INSERT INTO `menu` VALUES (11, 8, 'test');
INSERT INTO `menu` VALUES (3, 0, 'qwwwq 3');
INSERT INTO `menu` VALUES (12, 11, 'test 2');
INSERT INTO `menu` VALUES (7, 1, 'eewew 1');
INSERT INTO `menu` VALUES (8, 1, 'eewew 2');
INSERT INTO `menu` VALUES (9, 1, 'eewew 3');
INSERT INTO `menu` VALUES (13, 9, 'test3');
 
	
	
	
		
								Есть скрипт кторый выводит дерево каталога
Проблема в следующем дерево каталога выводиться неправельно
помогите разобраться или посоветуйте что можно зделать только без javascript
SQL Dump
CREATE TABLE `menu` (
`id` int(11) NOT NULL auto_increment,
`pid` int(11) NOT NULL default '0',
`name` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=14 ;
--
-- Дамп данных таблицы `menu`
--
INSERT INTO `menu` VALUES (1, 0, 'qwwwq');
INSERT INTO `menu` VALUES (2, 0, 'qwwwq 2');
INSERT INTO `menu` VALUES (11, 8, 'test');
INSERT INTO `menu` VALUES (3, 0, 'qwwwq 3');
INSERT INTO `menu` VALUES (12, 11, 'test 2');
INSERT INTO `menu` VALUES (7, 1, 'eewew 1');
INSERT INTO `menu` VALUES (8, 1, 'eewew 2');
INSERT INTO `menu` VALUES (9, 1, 'eewew 3');
INSERT INTO `menu` VALUES (13, 9, 'test3');
		PHP:
	
	?>Дерево каталога<br><table border="1"><?
function get_tree($parent_id=0,$nbsp=''){
	//sql запрос 
	$i=0;
	$sql = "SELECT * FROM menu WHERE pid='$parent_id'";
	$ok = mysql_query($sql);
	while ($row = mysql_fetch_array($ok)){
		//счетчик оборотов
		$i++;
		//условия для первого уровня
		if ($row['pid']==0){
			$i=0;
		}
		//цикл подсчета отспупа перед вложенными уровнями
		for ($x=0;$x<$i;$x++)
		{
			$nbsp.=' ';
		}
		//получение имени из базы данных
		$name = $row['name'];
		$level = $row['id'];
		//получение длины отступа и имени 
		print "<TR><TD>$nbsp$name</TD></TR>";
		//вывод информации полученного каталога
		get_tree($row['id'],$nbsp);		
	}
}
get_tree();
?></table>
	
	            
))