Извлечение значения из текстового поля в форме (представлении) в контроллер в codeigniter php при выборе selectbox

просмотр кода страницы

<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.