PHP+Mysql无限极归类高效查询
程序员文章站
2024-02-18 09:27:34
...
PHP+Mysql无限极分类高效查询
Mysql分类表
id pid level name
1 0 0 test1
2 0 0 test2
3 1 1 test1.1
4 3 2 test1.1.1
PHP查询方法
Mysql数据查询类忽略----(大家都懂的)
我的查询方法:
以上就是我的查询和输出代码,我不知这个查询是不是算高效查询,所以我分享出来,让大家给点意见,或者大家分享一下自己的查询和输出方法,让我学习一下,谢谢大家了
Mysql分类表
id pid level name
1 0 0 test1
2 0 0 test2
3 1 1 test1.1
4 3 2 test1.1.1
PHP查询方法
Mysql数据查询类忽略----(大家都懂的)
我的查询方法:
$My_rs = $my_conn->mysql_query('select * from table where pid = 0');
$class_rs = array();
$Do_While_Static=mysql_num_rows($My_rs)?true:false;
if($Do_While_Static) $Prs=array($My_rs);
while($Do_While_Static){
$My_rs=end($Prs);
if($rs=mysql_fetch_array($My_rs)){
$class_rs[]=$rs;
$My_Prs = $my_conn->mysql_query('select * from table where pid = '.$rs['id']);
$Temp_Static=mysql_num_rows($My_Prs)?true:false;
if($Temp_Static) $Prs[]=$My_Prs;
}else{
array_pop($Prs);
if(count($Prs)==0){
$Do_While_Static=false;
break;
}
}
}
foreach($class_rs as $rs){
$T_Str=str_pad('',$rs['level'],"-");
echo $T_Str.$rs['name'];
}
以上就是我的查询和输出代码,我不知这个查询是不是算高效查询,所以我分享出来,让大家给点意见,或者大家分享一下自己的查询和输出方法,让我学习一下,谢谢大家了
mysql php
------解决方案--------------------
一般来讲没啥很大的问题的。
------解决方案--------------------
除非寫的非常離譜,要不然性能影響不大
------解决方案--------------------
$Prs[]=$My_Prs;
利用堆栈将递归化为循环,代码反而变得隐涩了
由于循环体内的代码量增加,效率应该不比递归强
------解决方案--------------------
一般来讲没啥很大的问题的。
------解决方案--------------------
除非寫的非常離譜,要不然性能影響不大
------解决方案--------------------
$Prs[]=$My_Prs;
利用堆栈将递归化为循环,代码反而变得隐涩了
由于循环体内的代码量增加,效率应该不比递归强
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论