просмотр кода страницы
<td align="left" valign="middle" bgcolor="#FFFFFF" class="rows"> <input type="text" name="Quantity" id="Quantity" value="<?= $row->Quantity ?>" />
Код контроллера
$category = $this->input->post('Category'); $num = $this->input->post('numOflimit'); $productName = $this->input->post('product_name'); $barcode = $this->input->post('barcode'); $quantity = $this->input->post('Quantity'); for ($x = 1; $x <= $num; $x++) { $userArray = $_POST["select$x"]; } $userArray = split(',', $userArray); $productName = $userArray[0]; $barcode = $userArray[1]; $quantity = $userArray[2]; $flag = $this->cartmodel->getProductNames($category); print_r($flag);
Проблема в коде заключается в том, что он может только получить последнее значение текстового поля и вывод
$ userArray принимает в качестве массива
а также
$flag = CI_DB_mysql_result Object ( [conn_id] => Resource id #27 [result_id] => Resource id #36 [result_array] => Array ( ) [result_object] => Array ( ) [current_row] => 0 [num_rows] => 0 )
Что не так с кодом ???
Вам не хватает [], что означает, что вы не создаете массив, просто записывая одно и то же значение. Попробуйте что-нибудь вроде:
for ($x = 1; $x <= $num; $x++) { $userArray[] = $this->input->post("select" . $x . ""); }
Чтобы убедиться, что вы получаете только фактические значения, которые вы, возможно, захотите сделать:
for ($x = 1; $x <= $num; $x++) { if ($this->input->post("select" . $x . "")) { $userArray[] = $this->input->post("select" . $x . ""); } }
Можете ли вы показать свой код файла просмотра, который имеет тег select (потому что в разделе выше просмотра вы включаете только текстовое поле, а не поле выбора). Я думаю, вы пропустили добавить «несколько» в свой тег select.