免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2085 | 回复: 2
打印 上一主题 下一主题

读取无限级分类 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-29 02:45 |只看该作者 |倒序浏览
数据库:
commodity_category_id        commodity_category_name                   commodity_category_full_id
1                                           中国新闻                                  001
2                                           韩国新闻                                  002
3                                           美国新闻                                  003
4                                           福建新闻                                  001,001
5                                           云南新闻                                  001,002
6                                           海南新闻                                  001,003
7                                           福州新闻                                  001,001,001
8                                           厦门新闻                                  001,001,002
9                                           福州鼓楼区新闻                            001,001,001,001


html效果(假如从第二级开始):


福建新闻
       福州新闻
       厦门新闻
云南新闻
       ...........
海南新闻
       ...........
-------------------------------------------------------------------
请问要怎么实现呢,我循环不出来。


我的代码是这样的
  1. <table width="160" border="0" align="center" cellPadding="0" cellSpacing="0">
  2.                                                 <?php
  3.                                                 $query="select * from 5df4_commodity_category WHERE commodity_category_full_id LIKE '001,001,%' and commodity_category_full_id not LIKE '001,001,%,%'";
  4.                                                 $result=mysql_query($query);
  5.                                                 //$hobj = mysql_fetch_object($result);
  6.                                                 //$hobj=@mysql_fetch_array($result);
  7.                                                 //$full = $hobj->commodity_category_full_id;
  8.                                                 while ($myrow=@mysql_fetch_array($result)){
  9.                                                 //$full = $hobj->commodity_category_full_id;
  10.                                                 ?>
  11.                           <tbody>
  12.                                                           <tr vAlign="top">
  13.                                                                 <td colspan="2">
  14.                                                                         <table width="150" border="0" cellpadding="0" cellspacing="0">
  15.                                                                           <tr>
  16.                                                                                 <td width="15">
  17.                                                                                 <img src="images/left_li.gif" width="15" height="18" alt="" />
  18.                                                                                 </td>
  19.                                                                                 <td width="129">
  20.                                                                                 <div align="left" style="font-weight:bolder;">
  21.                                                                                 <?php echo $myrow[commodity_category_name];?>
  22.                                                                                 <?php echo "$full";?>
  23.                                                                                 </div>
  24.                                                                                 </td>
  25.                                                                           </tr>
  26.                                                                         </table>
  27.                                                                 </td>
  28.                                                           </tr>
  29.                                                           <?php
  30.                                                           $querya="select * from 5df4_commodity_category WHERE commodity_category_full_id LIKE '$full,%' and commodity_category_full_id not LIKE '$full,%,%'";
  31.                                                           $resulta=mysql_query($querya);
  32.                                                       while ($myrowa=@mysql_fetch_array($resulta)){
  33.                                                           ?>
  34.                                                           <tr vAlign="top">
  35.                                                                 <td>&nbsp;</td>
  36.                                                                 <td><?php echo $myrowa[commodity_category_name];?></td>
  37.                                                           </tr>
  38.                                                           <?php }?>
  39.                           </tbody>
  40.                                                   <?php }?>
  41.                                                   </table>
复制代码

论坛徽章:
0
2 [报告]
发表于 2008-01-29 10:40 |只看该作者
没有条件测试,我还真不知道%可以这样用2次like'001,001,%,%'

按照你要求的效果实现子类递归就可以正常显示出来了
首先正常循环一级类001,002。。。的
然后写个过程传入该类的id我可能会用left来检索他的子类数据。

论坛徽章:
0
3 [报告]
发表于 2008-01-29 14:16 |只看该作者
把第三个字段改为fid(所属分类ID)然后根据此ID一层一层向下搜索:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP