Извлечь значение из текстового поля в форме (представлении) для контроллера в php codeigniter при выборе selectbox - PullRequest
0 голосов
/ 26 июля 2011

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

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

Что не так с кодом ???

Ответы [ 2 ]

0 голосов
/ 26 июля 2011

Можете ли вы показать свой код файла представления, для которого существует тег выбора (поскольку в приведенном выше разделе представления вы включаете только текстовое поле, а не поле выбора). Я полагаю, вы пропустили добавление слова «несколько» в ваш тег выбора.

0 голосов
/ 26 июля 2011

Вам не хватает [], что означает, что вы не создаете массив, просто записываете одно и то же значение. Попробуйте что-то вроде:

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 . "");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...