想实现新闻目录的无限级,请教大家数据库表怎么设计???谢谢
解决方案 »
- 一个表单,如何实现点击提交后,自动刷新一下页面?
- PHP如何区别www.domian.com和 domain.com的差异??
- 关于json中有\的问题
- 请大家帮我把我写的这个函数扩展一下,谢谢了
- 怎么用php修改远程文件
- file_get_contents问题
- 执行一个php连接mysql的语句结果提示;Fatal error: Call to undefined function: mysql_connect() in /var/www/haoyifu/yabbs/install.p
- PHP如何发送post数据到别的地址?
- php 如何返回sql(postgresql)查询的错误码
- 如何判断一个字符串中是否含有某些字符?
- 呃 好难呐.. 暂时没分,可以记账
- 北京phper求职
2 2 0 0
3 1-1 0 1
4 1-2 0 1
5 2-1 0 2
6 2-1-1 0 2
01 0
02 0
0101 01
0102 01
010101 0101
010201 0102
010202 0102id字段:两个数为一组,每层最多能容纳99个节点,若果你需要可以3个为一组,这样每层能容纳999个节点
pid:parentid,父节点,标明这个节点的上一个节点是谁。由于好久不用了,导出Tree型结构的方法忘记了,大概的思路应该是循环遍历id字段(这就看你的sql学的怎么样了,如果sql写的好,遍历效率就高。而且很高,如果sql写的不好就差,很差),循环遍历id,查找pid,如果是pid = 0,证明是第一个节点,如果非0,证明是子节点(相应的操作,把这个节点添加到他的父节点那里。然后就递归吧。细节忘记了,大体就是这样。
一个数据表,用两个字段,两个字段都是字符串类型,就能解决了。 请问你这个id 字段的值要怎么计算,手工输入??
添加的时候肯定知道父节点,这样pid就有了,假设为0101,然后再查找父节点为0101的所有子节点的最大值,比较的时候要先截取最后的两位然后在比较就行了,比方说010101,010102,010103,截取最后两位03最大,然后新节点就是010104.(sql语句里面有截取字符串和比较的功能)
id father_id level
1 0 1
2 0 1
3 1 2
id是目录名的ID号,father_id是它的父目录,0表示一级目录.level是表示目录级别,这样可以吗?