我从多个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();
}
答案 0 :(得分:1)
where_in()
的第二个参数应该是一个数组。
您正在生成一个包含implode()
的字符串,并且只生成数组的最后一个值,而不是整个数组。
所以你需要的只是:
$this->db->where_in('id', $loop_number);
我没有看到$query
来自哪里,当你在方法的第一个循环中使用它时似乎未定义。
除此之外,您应该在循环之前初始化变量$loop_number = [];
。