我有要求,当用户检查复选框时,我将复选框值作为键值对
Array(
[checkboxname] => Array(
[1] => on
[5] => on
[12] => on
[15] => on
)
)
我必须在sql语句中传递此键并从该键中检索另一个复选框。
这是我必须写的查询
foreach($array as $key => $value)
{
}
$reult = $this->db->get_where('select_another_value ', array('id' => $key))->result_array();
我应该在查询中写什么而不是$key
答案 0 :(得分:0)
尝试 -
foreach($array as $key => $value){
$reult[] = $this->db->get_where('select_another_value ', array('id' => $key))->result_array();
}
或者你可以试试 -
$keys = array();
foreach($array as $key => $value){
$keys[] = $key;
}
if (count($keys) > 1) {
$where = " id IN (".implode(',', $keys).")";
} else {
$where = " id = '".$key[0]."'";
}
$this->db->where($where);
如果你想避免在循环内运行查询。
答案 1 :(得分:0)
假设您希望从db获取所有已检查的check boxes
值,并在数组键中使用Id
并使用where_in()
方法并在数组中传递数组键,请参阅下面的示例代码
$all_keys = array_keys($arr['checkboxname']);
$result = $this->db->where_in('id', $all_keys)
->get('select_another_value')->result_array();