php无限分类怎么弄

php无限分类怎么弄,第1张

无限分类数据库表CREATE TABLE IF NOT EXISTS `royal_ask_group` (

`gid` int(11) NOT NULL auto_increment,

`parent` int(11) NOT NULL default '0',

`topid` int(11) NOT NULL default '0',

`group_key` varchar(255) NOT NULL,

`group_title` varchar(64) NOT NULL,

`ordered` int(5) NOT NULL default '0',

`children` varchar(255) default NULL,

`flag` set('h','c','b','t') default NULL,

`content` text NOT NULL,

`image` varchar(255) default NULL,

PRIMARY KEY (`gid`),

KEY `parent` (`parent`),

KEY `topid` (`topid`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;没父id的parent=0;有父id的数组 $sql_data_array = array(

'parent' => (int)$_POST['parent'],

'topid' => (int)$_POST['topid'],

'group_key'=> ($_POST['group_key']),

'group_title'=> ($_POST['group_title']),

'flag'=> (isset($_POST['flags']) join(',',$_POST['flags']) : ''),

'content'=> ($_POST['content']),

'ordered' => (int)$_POST['ordered']);

双重循环来实现,结构如下:

$sql1='select pro_nclassid,pro_nclassname,count() from pro_nclass,news where pro_nclassid=newscid group by 1,2 order by 1';

//上面的语句对news表中的新闻按照类别进行统计,并获取类别名称

$res1=mysql_query($sql1);

while(list($cid,$cname,$ncnt)=mysql_fetch_row($res1)){

echo "$cid $cname $ncnt<br>";//显示本类新闻的名称和数量

$sql2="select from news where cid=$cid order by id desc limit 10";

$res2=mysql_query($sql2);

while($row=mysql_fetch_array($res2)){显示一个新闻的语句}

mysql_free_result($res2);

}

mysql_free_result($res1);

以上代码是基本的架构,你写的时候一定要加上错误检测。

每个节点都要记录子节点的数量c。每新增一个节点都要对各父和祖节点的子节点计数加1。这样根节点会有总数的记录。

这样递归遍历时也可以根据子节点数量c的来确定读取的数量限制。比如 读取条数计数<10 就继续递归

在每个节点的表上 增加子节点的id集或计数,增加根节点到父节点路径,会方便这些 *** 作。

以上就是关于php无限分类怎么弄全部的内容,包括:php无限分类怎么弄、PHP分类显示输出、PHP递归无限分类的 如何统计总条数 以及对显示的结果进行分页比如设置为每页显示10个 。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9590947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存