在超链接php中获取单循环表单数据

时间:2015-12-07 16:00:59

标签: php jquery

我正在尝试更新数量,因为我填写数量字段并单击更新按钮。它可以工作,但它显示循环中每个项目的表单字段,仅适用于最后一个条目更新。这样的事情。

  

/EcommerceClient/index.php?page=cart&action=update&id=3&name=%09%0D%0ACool+T-shirt&color=blue&size=XL&quantity=4&id=4& ;名称= HBD + T恤&安培;颜色=黄色&安培;大小= XL&安培;数量= 900

在上面的链接中,它只应获取与id = 3相关的信息,因为我试图更新id = 3的数量。

Cart update

这是我的代码。任何建议或帮助将受到高度赞赏。

代码

if(isset($_GET['action']) && $_GET['action']=="update"){

    $id=  intval($_GET['id']);
    $size = $_GET['size'];
    $color = $_GET['color'];
    $qty = $_GET['quantity'];
    $index = $id." ".$color. " ".$size;
if( isset($_SESSION['cart'][$index]) && isset($_SESSION['cart'][$index]['color']) && $_SESSION['cart'][$index]['color'] == $color && isset($_SESSION['cart'][$index]['size']) && $_SESSION['cart'][$index]['size'] == $size){

    $_SESSION['cart'][$index]['quantity']=$qty;

    print_r($_SESSION['cart'][$index]);//It just shows me the last item array.
}
}
?>
<form class="product" method="get" action="index.php">
    <table>
    <input type="hidden" name="page" value="cart">
    <input type="hidden" name="action" value="update">
        <?php
        if(isset($_SESSION['cart'])){
            foreach($_SESSION['cart'] as $id => $value){
         ?>
                <tr>
                        <input type="hidden" name="id" value="<?php echo $value['id'] ?>">
                        <input type="hidden" name="name" value="<?php echo $value['name'] ?>">
                        <input type="hidden" name="color" value="<?php echo $value['color'] ?>">
                        <input type="hidden" name="size" value="<?php echo $value['size'] ?>">


                   <td><?php echo $value['id'] ?></td>
                        <td><?php echo $value['name']?></td>
                        <td><?php echo $value['price']?> </td>
                        <td><?php echo $value['quantity']?><input type="text" name="quantity"  value="<?php echo $value['quantity'] ?>"></td>
                        <td><?php echo  $value['color'];?> </td>
                        <td><?php echo $value['size']; ?></td>
                       <td><?php echo "$" .$value['price']*$value['quantity']. ".00"; ?>
                 </tr>

        <?php
            }
        }

        ?>
        <tr><td><button type="submit">Update</button></td></tr>
    </table>

</form>

1 个答案:

答案 0 :(得分:0)

您可以通过不发布或获取所有购物车产品来更新数量。您可以使用简单的JS来更新字段值,也可以使用SESSION变量数组来更新数据,如@Marc B所述。