Подправить корзину

Тема в разделе "Как сделать...", создана пользователем Runapa, 15 июн 2012.

  1. Runapa

    Runapa Постоялец

    Регистр.:
    30 окт 2010
    Сообщения:
    64
    Симпатии:
    5
    Делаю корзину товаров на php и столкнулся с проблемой - не получается редактировать количества товаров.

    Для вывода используется цикл for, но из за этого можно редактировать только последний добавленный товар, а нужно чтобы работало целиком. Как бы это сделать ?


    Вывод корзины:

    PHP:
          if ($_SESSION['prod_count']!=0)
            {                             
                for ($i=0; $i<$_SESSION['prod_count']; $i++)
                {
                    $q="SELECT * FROM katalog WHERE id='".$_SESSION['product_id'][$i]."'";
                    $query=mysql_query($q);
                  $prod_in_cart=mysql_fetch_assoc($query);
    ?> 
                <tr>
                <td>
                    <?php echo "<img src='".$prod_in_cart['thumb']."' width='120px' height='120px'>";?>
                </td>
                <td>
                    <?php echo $prod_in_cart['name'];?>
                </td>
                <td>
                    <?php echo $_SESSION['product_size'][$i];?>
                </td>
                <td>
                    Количество: <input type="text" size="3" value="<?php echo $_SESSION['product_count'][$i];?>" name="p_count">
                </td>
                <td>
                <?php echo $_SESSION['product_price'][$i]* $_SESSION['product_count'][$i];?> EUR
                </td>
                <td>
                    <input type="hidden" value="<?php echo $i;?>" name="upd_id">
                    <input type="image" src="./img/refresh.png" width="26" height="26" value="">
                    </form>
                </td>
                <td>
                    <form action="<?php echo $_SERVER['REQUEST_URI']?>" method="POST">
                        <input type="hidden" value="<?php echo $i;?>" name="del_id" >
                        <input type="image" src="./img/trash.png" width="26" height="26" value="">
                    </form>
                </td>
            </tr>
                         
    <?
         
                }            ?>
            </table>
    Функция редактирования:

    PHP:
    //Если нужно изменить количество товара:
    if (isset($_POST['upd_id'])) {
    update_cart($_POST['p_count'], $_POST['upd_id']);
    }
     
  2. evangel

    evangel Создатель

    Регистр.:
    7 сен 2008
    Сообщения:
    17
    Симпатии:
    1
    попробуйте код на ошибки проверить т.к. в вашем коде отсутствует параметр будет выглядеть примерно так

    PHP:
    ....
                <td>
                    <?php echo $_SESSION['product_size'][$i];?>
                </td>
                <td><form action="<?php echo $_SERVER['REQUEST_URI']?>" method="POST">
     
                    Количество: <input type="text" size="3" value="<?php echo $_SESSION['product_count'][$i];?>" name="p_count">
                </td>
                <td>
    ....
     
  3. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    загляните сюда https://www.nulled.cc/threads/232186/#post-1992672 как раз нечто подобное обсуждалось...
    и да... разберитесь с <form></form> во первых нет начала основной формы, во вторых она в цикле, я бы вынес её за пределы цикла, хотя все зависит от того что вы собираетесь с ней делать...