У меня есть требование, когда пользователь проверяет флажок, im получая значение флажка в качестве пары значений ключа
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
Предположим, вы хотите, чтобы все check boxes
where_in()
от db и Id
внутри массива и использовали where_in()
и передавали ключи массива в массиве, см. Ниже пример кода
$all_keys = array_keys($arr['checkboxname']);
$result = $this->db->where_in('id', $all_keys)
->get('select_another_value')->result_array();
array(12 => 'on')
то также будет работать
Попробуйте -
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);
Если вы хотите избежать выполнения запроса внутри цикла.
$reult
имеет только последние key
записи?