何位看下这个循环嵌套数组有误吗
程序员文章站
2024-04-06 18:25:26
...
哪位看下这个循环嵌套数组有误吗?
这个是源代码,这是截图:
这个是静态页面代码:
------解决方案--------------------
因为你number_show没有清空,第一个记录获取到的一直在,所以后面就都有了。
------解决方案--------------------
function get_number_list($cat_id)
{
$sql=$GLOBALS['db']->query("select * from ".$GLOBALS['db']->table('dept_category')." order by sort");
while($row=$GLOBALS['db']->fetch_array($sql)){
if($row){
$result=$GLOBALS['db']->query("select * from ".$GLOBALS['db']->table('number')." where dept=".$row['cat_id']." and cat_id='$cat_id' order by sort");
while($rows=$GLOBALS['db']->fetch_array($result)){
if($rows){
$number_show[] = array(
'id' => $rows['id'],
'title' => $rows['title'],
'user' => $rows['username']
);
}
}
$cat_name[]=array(
'sort' => $row['sort'],
'cat_name' => $row['cat_name'],
'topid' => $number_show
);
}
}
return $cat_name;
}
这个是源代码,这是截图:
这个是静态页面代码:
{$dept.cat_name} | |
{$number.user} | {$number.title} |
------解决方案--------------------
因为你number_show没有清空,第一个记录获取到的一直在,所以后面就都有了。
------解决方案--------------------
function get_number_list($cat_id)利用unset对数组进行清空。
{
$sql=$GLOBALS['db']->query("select * from ".$GLOBALS['db']->table('dept_category')." order by sort");
while($row=$GLOBALS['db']->fetch_array($sql)){
if($row){
$result=$GLOBALS['db']->query("select * from ".$GLOBALS['db']->table('number')." where dept=".$row['cat_id']." and cat_id='$cat_id' order by sort");
while($rows=$GLOBALS['db']->fetch_array($result)){
if($rows){
$number_show[] = array(
'id' => $rows['id'],
'title' => $rows['title'],
'user' => $rows['username']
);
}
}
$cat_name[]=array(
'sort' => $row['sort'],
'cat_name' => $row['cat_name'],
'topid' => $number_show
);
unset($number_show);
}
}
return $cat_name;
unset($cat_name);
}
相关文章
相关视频
下一篇: phpexcel 生成报表