PHP+Mysql无限极归类高效查询

WBOY
Freigeben: 2016-06-13 11:10:43
Original
817 Leute haben es durchsucht

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');<br />$class_rs = array();<br />$Do_While_Static=mysql_num_rows($My_rs)?true:false;<br />if($Do_While_Static) $Prs=array($My_rs);<br />while($Do_While_Static){<br />    $My_rs=end($Prs);<br />    if($rs=mysql_fetch_array($My_rs)){<br />        $class_rs[]=$rs;<br />        $My_Prs = $my_conn->mysql_query('select * from table where pid = '.$rs['id']);<br />        $Temp_Static=mysql_num_rows($My_Prs)?true:false;<br />        if($Temp_Static) $Prs[]=$My_Prs;<br />    }else{<br />        array_pop($Prs);<br />        if(count($Prs)==0){<br />            $Do_While_Static=false;<br />            break;<br />        }<br />    }<br />}
Nach dem Login kopieren


foreach($class_rs as $rs){<br />    $T_Str=str_pad('',$rs['level'],"-");<br />    echo $T_Str.$rs['name'];<br />}
Nach dem Login kopieren


以上就是我的查询和输出代码,我不知这个查询是不是算高效查询,所以我分享出来,让大家给点意见,或者大家分享一下自己的查询和输出方法,让我学习一下,谢谢大家了

mysql php
------解决方案--------------------
一般来讲没啥很大的问题的。
------解决方案--------------------
除非寫的非常離譜,要不然性能影響不大
------解决方案--------------------
$Prs[]=$My_Prs;
利用堆栈将递归化为循环,代码反而变得隐涩了
由于循环体内的代码量增加,效率应该不比递归强
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage