使用关联数组和implode从mysql获取数据(codeigniter + MySql)

时间:2017-11-23 07:52:24

标签: php mysql codeigniter

我从多个MySql表中收集数据,并使用带查询的foreach循环将它们存储为关联数组。

我想在mysql查询中使用那些关联数组和implode方法从单独的表中收集更多数据。

我知道使用implode方法,在处理索引数组时,您只需将数组直接插入" implode部分"。但是对于关联数组,我不确定如何调用所有可用的数组并将它们插入查询中。

请参阅附图,以获得进一步说明的详细说明。

以下也是我的代码的一部分

public function user_implode()
{

        $s_id = array(
          "id" => 383
        );

        $count = 0; 
            foreach ($query->result() as $row)
            {   
                $count = $count + 1;
                $loop_number[$count] =  $row->id; 

            }

        $this->db->from('occupation');
        $this->db->where_in('id',implode("','",$loop_number[$count]));
        $query = $this->db->get();



        foreach ($query->result() as $row)
        {

                echo $row->id;

        }

        echo 'Total Results: ' . $query->num_rows();

}

感谢很多enter image description here

1 个答案:

答案 0 :(得分:1)

where_in()的第二个参数应该是一个数组。

您正在生成一个包含implode()的字符串,并且只生成数组的最后一个值,而不是整个数组。

所以你需要的只是:

$this->db->where_in('id', $loop_number);

我没有看到$query来自哪里,当你在方法的第一个循环中使用它时似乎未定义。

除此之外,您应该在循环之前初始化变量$loop_number = [];