我这个代码显示的不正常,我想要的效果是:
递接方式的:
分类1
分类2
分类3
......
另一个分类1
分类2
分类3
......
-----------------------------------------------------------------
代码如下:
<?PHP
$strSQL = "SELECT * FROM menu WHERE fid=0";
$result = mysql_query($strSQL);if(mysql_num_rows($result)>0)echo "<select>";mysql_sub($result);
function mysql_sub($result)
{
echo "<option>";
for($i=0;$i<mysql_num_rows($result);$i++){
$menu = mysql_fetch_array($result);
$sql = "SELECT * FROM menu WHERE fid=".$menu[id];
$result2 = mysql_query($sql);
echo $menu[name];
if(mysql_num_rows($result2)>0){
mysql_sub($result2);
}
}
echo "</option>";
}
echo "</select>";
?>
-------------------------------------------------------------
CREATE TABLE `menu` (
`id` int(11) NOT NULL auto_increment,
`fid` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=30 ;--
-- 导出表中的数据 `menu`
-- INSERT INTO `menu` VALUES (26, 0, '一级分类');
INSERT INTO `menu` VALUES (27, 26, '二级分类');
INSERT INTO `menu` VALUES (28, 0, '另一个一级分类');
INSERT INTO `menu` VALUES (29, 27, '3test');
递接方式的:
分类1
分类2
分类3
......
另一个分类1
分类2
分类3
......
-----------------------------------------------------------------
代码如下:
<?PHP
$strSQL = "SELECT * FROM menu WHERE fid=0";
$result = mysql_query($strSQL);if(mysql_num_rows($result)>0)echo "<select>";mysql_sub($result);
function mysql_sub($result)
{
echo "<option>";
for($i=0;$i<mysql_num_rows($result);$i++){
$menu = mysql_fetch_array($result);
$sql = "SELECT * FROM menu WHERE fid=".$menu[id];
$result2 = mysql_query($sql);
echo $menu[name];
if(mysql_num_rows($result2)>0){
mysql_sub($result2);
}
}
echo "</option>";
}
echo "</select>";
?>
-------------------------------------------------------------
CREATE TABLE `menu` (
`id` int(11) NOT NULL auto_increment,
`fid` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=30 ;--
-- 导出表中的数据 `menu`
-- INSERT INTO `menu` VALUES (26, 0, '一级分类');
INSERT INTO `menu` VALUES (27, 26, '二级分类');
INSERT INTO `menu` VALUES (28, 0, '另一个一级分类');
INSERT INTO `menu` VALUES (29, 27, '3test');
你不能判断级别后:
echo " " + $menu[name]; 不就可以了?
比如二级,加一个CSS 的CLASS:level2缩进二个字符
定议一下level2就行了比如:如果是二级分类
<a class="level2">二级项目</a>
显示照fxs_2008说的去做