Невозможно получить значение из другого текстового поля, кроме первого

Я использую код из учебника корзины phpwebcommerce, и я пытаюсь добавить текстовое поле для ввода пользователем количества. Так как существует различное количество вариантов для одного продукта, поэтому я использую оператор while для запроса подпозиций и помещаю текстовое поле плюс кнопку добавления рядом с каждым из них. Но для первого элемента требуется только количество, а не остальное. Если я вставляю количество для первого элемента и нажимаю «добавить» на любой из других предметов, он все равно сохранит первый в моей корзине, чего он не должен ... Я застрял ... может кто-то мне помочь ?

<?php
function displayprodDetail($pdId)
{
    $query = mysql_query("SELECT * FROM product_image WHERE p_id ='$pdId'");
    WHILE($datarows = mysql_fetch_array($query))
    {
        $p_num = $datarows['p_number'];
        echo '

'.$p_num.' -- $'.$datarows['price'].'

';
        echo '<div id="prodPic">
</div>'; echo '<div id="items">'; $sql = mysql_query("SELECT * FROM items WHERE item_number LIKE '$p_num/%' ORDER BY item_number ASC"); $numProduct = dbNumRows($sql); if($numProduct > 1) { echo '<table border="0" cellspacing="0">'; WHILE($data = mysql_fetch_array($sql)) { $itemId = $data['item_id']; $p_num = $data['item_number']; echo '<tr>'; echo '<td><input TYPE="HIDDEN" NAME="'.$itemId.'" VALUE="'.$itemId.'">'.$p_num.'</td>'; echo '<td> Qty: <input type="number" name="qty" id="qty" style="width:30px"></td>'; $cart_url = "cart.php?action=add&i=$itemId&qty="; ?> <td><input type="Submit" name="Submit" value="Add" onClick="window.location.href='<?php echo $cart_url; ?>' +document.getElementById('qty').value;" ></td> <?php echo '</tr>'; } echo '</table>'; } else { echo 'Items are currently not available.
Contact us for more detail.'; } echo '</div>'; } } ?>

Вот функция добавления в корзину:

function addToCart()
{
   //make sure the product id exist
    if (isset($_GET['i']) && (int)$_GET['i'] > 0) 
    {
        $itemId = (int)$_GET['i'];
    } 
    else 
    {
        header('Location: home.php');
    }
    if (isset($_GET['qty']) && (int)$_GET['qty'] > 0) 
    {
        $qty = (int)$_GET['qty'];
    } 
   //current session id
    $sid = session_id();

   //check if the product is already
   //in cart table for this session
    $sql = mysql_query("SELECT item_id FROM cart_table WHERE item_id = $itemId AND ct_session_id = '$sid'");

    if (dbNumRows($sql) == 0) 
    {
       //put the product in cart table
        $sql = mysql_query("INSERT INTO cart_table (item_id, ct_qty, ct_session_id, ct_date) VALUES ($itemId, $qty, '$sid', now())");
    } 
    else 
    {
       //update product quantity in cart table
        $sql = mysql_query("UPDATE cart_table SET ct_qty = ct_qty + $qty WHERE ct_session_id = '$sid' AND item_id = $itemId");                  
    }   

   //an extra job for us here is to remove abandoned carts.
   //right now the best option is to call this function here
    deleteAbandonedCart();

    header('Location: ' . $_SESSION['shop_return_url']);                
}
1
nl ja de
Какой браузер вы используете, добавьте также версию?
добавлено автор saji89, источник

1 ответы

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

<input type="number" name="qty_<?php echo $itemId; ?>" id="qty_<?php echo $itemId; ?>" style="width:30px">...
...
<td><input type="Submit" name="Submit" value="Add" onClick="window.location.href='<?php echo $cart_url; ?>' +document.getElementById('qty_<?php echo $itemId; ?>').value;" ></td>
0
добавлено
пожалуйста... :)
добавлено автор Sudhir Bastakoti, источник
ты жжешь!!! благодаря!!!!!
добавлено автор Jeff Chang, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp