2012-12-10 3 views
1

У меня проблема, если кто-то может помочь, будет очень признателен.codeigniter вставить несколько строк по выбранным флажкам

<input type="checkbox" name="symbols[]" value="1" /> 
.... and this line repeats 10-15 times with a different value 

модель

$data = array(
array('symbol_id' => $this->input->post('symbols')) 
); 
return $this->db->insert_batch('symbols', $data); 

теперь моя проблема заключается в том, что это вставив только первое значение выбранного флажка (в данном случае 1) и игнорирует все остальное, не вставляя новый ряд других флажков (например, значение 3, 5 и 9). Не могли бы вы предложить мне несколько вариантов?

примечание: хочу, чтобы я хотел вставить новую строку для каждого флажка, поэтому я могу присоединиться к другой таблице, содержащей символы изображений (значения флажков, представляющих идентификаторы изображений). Если у вас есть какой-либо другой способ, как я могу это сделать, очень приветствуется. Спасибо

редактирования: это var_dump:

array(7) 

{ 

[0] => string(1) "8" 

[1] => string(1) "9" 

[2] => string(2) "10" 

[3] => string(2) "11" 

[4] => string(2) "12" 

[5] => string(2) "13" 

} 
+0

возможно дубликат [вставить несколько строк через массив PHP в MySQL] (http://stackoverflow.com/questions/779986/insert-multiple-rows-via-a-php -array-in-mysql) –

ответ

1

Данные отправляются как массив активных значений, так что, если бы вы проверить 1,3,5,10,20, в вашем $this->input->post('symbols'); массив вы будете иметь array(1, 3, 5, 10, 20):

function InsertSymbols() { 
    $data = array(); 
    foreach($this->input->post('symbols') as $symb) { 
     $data[] = array('symbol_id' => $symb); 
    } 
    return $this->db->insert_batch('symbols', $data); 
} 
+0

благодарит за ваш быстрый ответ, но не работает. говорит мне массив для преобразования строки Имя файла: базы данных/DB_active_rec.php и Неизвестный столбец 'Массив' в 'списке поля' INSERT INTO 'default_menus_details' ('0', '1', '2', '3 ') VALUES (Array, Array, Array, Array) Номер строки: 1267 – lesandru

+0

не беспокойтесь о названии таблицы, в моем коде указано иначе, чем в моем примере, я уже проверил это :) – lesandru

+0

О, пожалуйста, напишите сообщение 'var_dump ($ this-> input-> post ('symbols'))' output в вашем вопросе! –

 Смежные вопросы

  • Нет связанных вопросов^_^