函数内两个循环怎么弄?

weixin_41244451 2021-05-03 09:44:45
function get_kaohe_reply_list($kaohe_id,$page,$size)
{
global $fdyu,$db,$action_list,$school_id;
$sql = "SELECT reply.reply_id,reply.content FROM ".$fdyu->table('oa_kaohe_reply')." as reply
where reply.post_id=".$kaohe_id."";
$res = $db->selectLimit($sql, $size, ($page-1) * $size);
$arr_2 = array();
if($res)
{
$arr = array();
while($row = $db->fetchRow($res))
{
$reply_id = $row['reply_id'];
$arr[$reply_id]['reply_id'] = $reply_id;
$arr[$reply_id]['content'] = $row['content'];
$sql1 = "SELECT * FROM ".$fdyu->table('oa_kaohe_tiwen_nr')." where r_id=".$reply_id." ".$sql_where."";
$res1 = $db->query($sql1);
if($res1)
{
$arr_1 = array();
while($row1 = $db->fetchRow($res1))
{
$nr_id = $row1['nr_id'];
$arr_1[$nr_id]['nr_id'] = $nr_id;
$arr_1[$nr_id]['tx_nr'] = $row1['tx_nr'];
}
}
}
}
$arr_2[0]=$arr;
$arr_2[1]=$arr_1;

return $arr_2;
}

$replys_list=get_kaohe_reply_list($kaohe_id,$page,$size);
$smarty->assign('kaohereply', $replys_list[0]);//这个调用循环时是正常的
$smarty->assign('nr_list', $replys_list[1]);//这个调用循环时不正常,总是只显示第一条,请问怎么弄?
...全文
273 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
下雨的声音丶 2021-05-06
  • 打赏
  • 举报
回复

function get_kaohe_reply_list($kaohe_id,$page,$size)
{
    global $fdyu,$db,$action_list,$school_id;
    $sql = "SELECT reply.reply_id,reply.content FROM ".$fdyu->table('oa_kaohe_reply')." as reply 
                    where reply.post_id=".$kaohe_id."";
    $res = $db->selectLimit($sql, $size, ($page-1) * $size);
    if($res)
    {
        $arr = array();
        while($row = $db->fetchRow($res))
        {
            $reply_id = $row['reply_id'];
            $arr[$reply_id]['reply_id'] = $reply_id;
            $arr[$reply_id]['content'] = $row['content'];
            $sql1 = "SELECT * FROM ".$fdyu->table('oa_kaohe_tiwen_nr')." where r_id=".$reply_id." ".$sql_where."";
            $res1 = $db->query($sql1);
            if($res1)
            {
                while($row1 = $db->fetchRow($res1))
                {
                    $nr_id = $row1['nr_id'];
                    $arr[$reply_id]['nr_list'][$nr_id]['nr_id'] = $nr_id;
                    $arr[$reply_id]['nr_list'][$nr_id]['tx_nr'] = $row1['tx_nr'];
                }
            }
        }
    }
    return $arr;
}

$replys_list=get_kaohe_reply_list($kaohe_id,$page,$size);
$smarty->assign('kaohereply', $replys_list);
这样
weixin_41244451 2021-05-05
  • 打赏
  • 举报
回复
引用 1 楼 画骨难画风 的回复:
一般用foreach可能会好点,把每个值打印看看就知道怎么回事了
$replys_list[0]这个有两条信息,比如a,b,然后a下面有个c,b下面有个d,但是这个循环显示出来的是a下面显示的是c,b下面显示的也是c,按理b下面应该显示的是d才对,要怎么办?
weixin_41244451 2021-05-05
  • 打赏
  • 举报
回复
引用 2 楼 weixin_41244451 的回复:
[quote=引用 1 楼 画骨难画风 的回复:]一般用foreach可能会好点,把每个值打印看看就知道怎么回事了
$replys_list[0]这个有两条信息,比如a,b,然后a下面有个c,b下面有个d,但是这个循环显示出来的是a下面显示的是c,b下面显示的也是c,按理b下面应该显示的是d才对,要怎么办?[/quote] 我发现把$arr_1 = array();移到循环外面,则a下面显示c,d,b下面也显示c,d。应该怎么弄才能a下面只显示c,b下面只显示d呢?
画骨难画风 2021-05-04
  • 打赏
  • 举报
回复
一般用foreach可能会好点,把每个值打印看看就知道怎么回事了

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧