如何将每个查询结果存储在另一个数组中并最后返回到控制器

时间:2018-04-18 13:30:26

标签: javascript php ajax codeigniter

我面临的问题是,我从我的控制器功能获取数据,在我的模型函数中,我必须使用chanel的动态值查询结果。 chanel id将来自我在HTML视图中的每个复选框。当我检查CHECKBOX 1它检索数据时,但是对于第二个复选框,它没有给出任何我想要查询的结果,并将结果保存在最终查询.PS im newbe in CI framework。

function get_data()
        {
            $serial = $this->input->post('serial');
            $chanel = $this->input->post('channel_id');

            $fi=explode(",", $chanel);

            $conditiondata=count($fi);
            $arr =array();
            for($i=0;$i<$conditiondata;$i++) {


                if($i==0)
            {


            $query = $this->db->query("SELECT * from `channels` WHERE `serial_id` = '$serial' AND `channel_name` = '$fi[$i]'");
                if ($query->num_rows() > 0) {
                    $arr[$i] = $query->result();

                    }
                    else
                    {
                    return false; 
                    }

            }
            else{
                return false;
                }
                }
            var_dump($arr);

            return $arr;
            }

1 个答案:

答案 0 :(得分:1)

希望这能解决您的问题

删除if($i==0)条件中的foreach条件,为0 key设置条件,这就是为什么它只获得一个id的数据

for($i=0;$i<$conditiondata;$i++) 
{

    $query = $this->db->query("SELECT * from `channels` WHERE `serial_id` = '$serial' AND `channel_name` = '$fi[$i]'");
    if ($query->num_rows() > 0) 
    {
        $arr[$i] = $query->result();
    }
    else
    {
       return $arr = array(); 
    }            
}
var_dump($arr);