可以做树状结构,先查询第一层,然后当展开第二层
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、台江网络推广、微信小程序开发、台江网络营销、台江企业策划、台江品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供台江建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
的时候,用ajax去查询下一层的信息,如果感觉慢的
话可以给表做索引,也可以做分表处理,几十万不是
太大的数据
第一,没有选择数据库,在连接数据库后添加mysql_select_db("数据库名");
第二、我感觉不代码不全吧,因为我拷下来看了一下,少一},当然上面那个没少,补充的少了。
第三、还有没看出这个$ii是干什么用的。
第四、没感觉$selec=0与不等于0输出有什么不同。
第五、以后最好是把html代码与程序分开写。
因为不知道需求,只能根据你的程序简单修改如下:
?php
function TreeMenu($selec) {
$Conn=mysql_connect("localhost","kk","kk123");
mysql_select_db("数据库名");
$ii=1;
$sql="select * from tvmenu where bid=".$selec;
$result=mysql_query($sql,$Conn);
$str = "";
while($row =mysql_fetch_array($result)) {
if($selec=0) {
$str = 'option value="'.$row['id'].'"'.$row['name'].'/option ';
}else {
$str = 'option value="'.$row['id'].'"'.$row['name'].'/option ';
}
echo $str;
$ii++;
TreeMenu($row['id']);
$ii--;
}
}
?
select name="bid" id="bid"
?php
TreeMenu(0);
?
/select
function get_category($id){
$str=array();
//$sql = "select * from biao where id=$id";查询节点,自己写吧
$result = array('id'=,'parent_id'=);//查询结果一个数组格式
if($result){
$str = get_category($result['parent_id']);
$str[]=$result;
}
return $str;
}
}
调用get_category()就行了,$str第一个元素是节点本身,去掉就行了。
循环递归 function user_($fid){ str="select * from user_table where uid='$fid' "//SQL语句 $db=pg_query($str);//查询 while($row=pg_fetch_array($db))//循环 { $str.=user_($row['id']).',';//递归 }}没测试 大体的思路就这样 试试看
你的代码没看明白,因为数据库可以索引,不明白数据库查询为什么还要二分查找,数据库的HASH是最快速的搜索,那我就直接回答:可以把$conn放在变量里面递归,只要不是在递归函数里面再次mysql_connect就不会造成许多连接,至少浪费一点点堆栈空间(内存)。
其次纠正一下:PHP支持全局变量,需要使用global进行申明,例如:
?php
$a=1;
f();
echo $a;
function f(){
global $a;
$a++;
}
?
最后给你说个轻松的,mysql的连接符$conn,其实在所有的mysql函数里面是可以省略的,如果你只有一个连接,这个参数完全可以不用,例如:
?php
mysql_connect('127.0.0.1','root','123456');
f();
mysql_close();
function f(){
$sql='select ....';
$res=mysql_query($sql);//可以正常执行
$row=mysql_fetch_array($res);
mysql_free_result($res);
}
?
要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的!
网站名称:php递归数据库,php递归算法经典实例
本文URL:https://www.cdcxhl.com/article16/heeidg.html
成都网站建设公司_创新互联,为您提供定制开发、微信公众号、移动网站建设、企业建站、建站公司、App设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联