我这个代码显示的不正常,我想要的效果是:
递接方式的:
分类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.   


    你不能判断级别后:
    echo   "&nbsp;&nbsp;" + $menu[name]; 不就可以了?
      

  2.   

    问题是判断级别上有问题啊,所以请大家帮忙看下,谢谢。我加了那个&nbsp也不行。
      

  3.   

    显示应很简单,做个CSS标签输出就行了
    比如二级,加一个CSS 的CLASS:level2缩进二个字符
    定议一下level2就行了比如:如果是二级分类
    <a class="level2">二级项目</a>
      

  4.   

    做多一个查等级的递归函数。
    显示照fxs_2008说的去做