qiushuiwuhen(秋水无恨)请进来,我有个问题想向你请教? 其实我不建议一次展开所有树结构.从程序性能上考虑.逐层产生下一层结构比较合理,用户相应也不是太慢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也想这样做,我这样做只对数据库操作了一次,效果是做出来了的,我觉得也有一点慢,不过不知道怎么改善。 简要作了做,感觉还挺快的增加了一个字段status,表示是否叶节点<? define("enter",chr(13).chr(10)); $conn=mysql_connect("localhost","root",""); mysql_select_db("test",$conn); $sql="select * from category order by category_id"; $query=mysql_query($sql); echo "<ul>".enter; $plen=1; while($arr=mysql_fetch_array($query)){ $nlen=strlen($arr[category_id]); if($plen>$nlen){for(;$plen>$nlen;$plen-=2)echo "</ul>".enter;} if($arr[status]==1){ echo '<li id="foldheader">'.$arr[category_name].'</li>'.enter; }else{ echo '<li id="foldheader">'.$arr[category_name].'</li><ul id="foldinglist">'.enter; $plen+=2; } } for($i=0;$i<$plen-2;$i+=2)echo "</ul>";?>效果如下:<ul><li id="foldheader">货物类</li><ul id="foldinglist"><li id="foldheader">食物</li><ul id="foldinglist"></ul><li id="foldheader">交通工具</li><ul id="foldinglist"><li id="foldheader">汽车</li><ul id="foldinglist"><li id="foldheader">轿车</li><ul id="foldinglist"><li id="foldheader">普通轿车</li><li id="foldheader">高级轿车</li></ul><li id="foldheader">载客汽车</li><ul id="foldinglist"><li id="foldheader">旅行面包车</li><li id="foldheader">公共汽车</li></ul></ul><li id="foldheader">飞机</li><ul id="foldinglist"></ul></ul></ul><li id="foldheader">房产类</li><ul id="foldinglist"></ul> 哇,这也太厉害了吧,真是佩服的五体投地了。 这算什么,秋水还有很多更让你佩服的.... 能否推荐PHP入门书籍 一个php文件发送URL另一个接收(GET POST) 怎么样能让flash与数据库的连接起来???急啊 转] 为什么现在使用 cgi 的网站那么少,FastCGI 更少了 switch 语句 这个PHP博客程序怎么设置呢? php curl 有验证码 模拟登陆的问题 在PHP中,使用file读取中文文件后,输入的乱码怎么解决啊????急!!! php+mysql向数据库插入数据 ecshop MySQL不支持 急急急!求高手帮助!!!!!!! 请问如何将table中的单元格设置为可写?
增加了一个字段status,表示是否叶节点
<?
define("enter",chr(13).chr(10));
$conn=mysql_connect("localhost","root","");
mysql_select_db("test",$conn);
$sql="select * from category order by category_id";
$query=mysql_query($sql);
echo "<ul>".enter;
$plen=1;
while($arr=mysql_fetch_array($query)){
$nlen=strlen($arr[category_id]);
if($plen>$nlen){for(;$plen>$nlen;$plen-=2)echo "</ul>".enter;}
if($arr[status]==1){
echo '<li id="foldheader">'.$arr[category_name].'</li>'.enter;
}else{
echo '<li id="foldheader">'.$arr[category_name].'</li><ul id="foldinglist">'.enter;
$plen+=2;
}
}
for($i=0;$i<$plen-2;$i+=2)echo "</ul>";
?>效果如下:
<ul>
<li id="foldheader">货物类</li><ul id="foldinglist">
<li id="foldheader">食物</li><ul id="foldinglist">
</ul>
<li id="foldheader">交通工具</li><ul id="foldinglist">
<li id="foldheader">汽车</li><ul id="foldinglist">
<li id="foldheader">轿车</li><ul id="foldinglist">
<li id="foldheader">普通轿车</li>
<li id="foldheader">高级轿车</li>
</ul>
<li id="foldheader">载客汽车</li><ul id="foldinglist">
<li id="foldheader">旅行面包车</li>
<li id="foldheader">公共汽车</li>
</ul>
</ul>
<li id="foldheader">飞机</li><ul id="foldinglist">
</ul>
</ul>
</ul>
<li id="foldheader">房产类</li><ul id="foldinglist">
</ul>