帮忙给优化一下PHP代码,执行很慢 30
$userid=gv($info_user,"userid");//调出一级用户$first_user=sql("s",'verify_num','*','wheresu...
$userid=gv($info_user,"userid");
//调出一级用户
$first_user=sql("s",'verify_num','*','where supid='.$userid_val);
foreach($first_user as $firuser_val){
//统计一级用户数量
$fir_u_num=sql("frow","user","id","where userid=".$firuser_val['userid'];
$u1+=$fir_u_num;
//调出二级用户
$sec_user=sql("s","verify_num","userid,supid","where supid=".$firuser_val['userid']);
//统计二级用户数量
foreach($sec_user as $secuser_val){
$sec_u_num=sql("frow","user","id","where userid=".$secuser_val['userid'];
$u2+=$sec_u_num;
//调出三级用户
$thi_user=sql("s","verify_num","userid,supid","where supid=".$secuser_val['userid']);
//统计三级用户数量
foreach($thi_user as $thiuser_val){
$thi_u_num=sql("frow","user","id","where userid=".$thiuser_val['userid']);
$u3+=$thi_u_num;
}
}
}
这段代码,怎么才能运行的快点呢 展开
//调出一级用户
$first_user=sql("s",'verify_num','*','where supid='.$userid_val);
foreach($first_user as $firuser_val){
//统计一级用户数量
$fir_u_num=sql("frow","user","id","where userid=".$firuser_val['userid'];
$u1+=$fir_u_num;
//调出二级用户
$sec_user=sql("s","verify_num","userid,supid","where supid=".$firuser_val['userid']);
//统计二级用户数量
foreach($sec_user as $secuser_val){
$sec_u_num=sql("frow","user","id","where userid=".$secuser_val['userid'];
$u2+=$sec_u_num;
//调出三级用户
$thi_user=sql("s","verify_num","userid,supid","where supid=".$secuser_val['userid']);
//统计三级用户数量
foreach($thi_user as $thiuser_val){
$thi_u_num=sql("frow","user","id","where userid=".$thiuser_val['userid']);
$u3+=$thi_u_num;
}
}
}
这段代码,怎么才能运行的快点呢 展开
2个回答
展开全部
写的话 很麻烦 给你个思路
你这个 主要是因为你是3次循环 并且每次都是在循环里面查询
那你可以 先把所有的数据一次性都调出来,然后在用循环去拼凑数据 ,这样不会查询数据库
另外 循环的时候可以把已经拼凑好的数据 直接UNSET 减少下一次子循环的循环次数、
你这个 主要是因为你是3次循环 并且每次都是在循环里面查询
那你可以 先把所有的数据一次性都调出来,然后在用循环去拼凑数据 ,这样不会查询数据库
另外 循环的时候可以把已经拼凑好的数据 直接UNSET 减少下一次子循环的循环次数、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你尽量不要将查询写在循环里面,像下面这样会好很多:
$userid=gv($info_user,"userid");
//调出一级用户
$first_user=sql("s",'verify_num','*','where supid='.$userid_val);
$firuser_arr = array();
foreach($first_user as $firuser_val){
$firuser_arr[] = $firuser_val['userid'];
}
//统计一级用户数量
$fir_u_num = sql("frow","user","id","where userid in (".implode(',',$firuser_arr).")");
$u1 = count($fir_u_num);
//调出二级用户
$sec_user=sql("s","verify_num","userid,supid","where supid in (".implode(',',$firuser_arr).")");
。。。
$userid=gv($info_user,"userid");
//调出一级用户
$first_user=sql("s",'verify_num','*','where supid='.$userid_val);
$firuser_arr = array();
foreach($first_user as $firuser_val){
$firuser_arr[] = $firuser_val['userid'];
}
//统计一级用户数量
$fir_u_num = sql("frow","user","id","where userid in (".implode(',',$firuser_arr).")");
$u1 = count($fir_u_num);
//调出二级用户
$sec_user=sql("s","verify_num","userid,supid","where supid in (".implode(',',$firuser_arr).")");
。。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询