首页 文章

每种数量和产品类型的长度和尺寸[重复]

提问于
浏览
-3

可能重复:Php购物车 - 每种产品类型的尺寸和长度

嗨我以前在这里发布这个问题和一些回复,但仍然无法弄清楚什么搞乱我的脚本....

我在页面order.php上有一个购物车 . 它是一家公司的零售部门,以便商店可以从该在线部分购买服装 . 所以有多件连衣裙,人们可以选择任意数量的连衣裙 . 此外,在购物脚本上有一个地方可以改变连衣裙的大小和长度 .

目前,当您订购礼服时,您可以选择单个尺码和单个长度每个订单例如:如果您订购4个礼服的数量A您只能选择一件礼服的尺码和长度A.

现在我想要实现的是当你订购4件服装A时,你应该能够选择每件服装A的长度和尺码A意味着4件长度和4件尺码 . 也许这听起来很奇怪,但我需要非常拼命

以下是代码:

会话初始化

session_start();

//Create 'cart' if it doesn't already exist
if (!isset($_SESSION['SHOPPING_CART'])){ $_SESSION['SHOPPING_CART'] = array(); }


//Add an item only if we have the threee required pices of information: name, price, qty
if (isset($_GET['add']) && isset($_GET['price']) && isset($_GET['qty']) && isset($_GET['size'])&& isset($_GET['length'])&& isset($_GET['code']) ){
//Adding an Item
//Store it in a Array
$ITEM = array(
//Item name
'name' => $_GET['add'],
//Item Price
'price' => $_GET['price'],
//Qty wanted of item
'qty' => $_GET['qty'],

'size' => array_fill(0, $_GET['qty'], $_GET['size']),

    'length' => array_fill(0, $_GET['qty'], $_GET['length']),

'code' => $_GET['code']
);

应该更新和存储数量,大小和长度值的部分 .

foreach ($_POST['items_qty'] as $itemID => $qty) {
//If the Qty is "0" remove it from the cart
if ($qty == 0) {
//Remove it from the cart
unset($_SESSION['SHOPPING_CART'][$itemID]);
}
else if($qty >= 1) {
//Update to the new Qty
$_SESSION['SHOPPING_CART'][$itemID]['qty'] = $qty;

}
foreach ($_POST['items_size'] as $itemID => $size) {
//If the Qty is "0" remove it from the cart
if($size >= 1) {
//Update to the new Qty
$_SESSION['SHOPPING_CART'][$itemID]['size'] = $size;

}
}
foreach ($_POST['items_length'] as $itemID => $length) {
//If the Qty is "0" remove it from the cart

//Update to the new Qty
$_SESSION['SHOPPING_CART'][$itemID]['length'] = $length;


}

第三,应该显示值的部分:

<

?php
//Print all the items in the shopping cart
foreach ($_SESSION['SHOPPING_CART'] as $itemNumber => $item) {
?>
<tr align="center" id="item<?php echo $itemNumber; ?>">
<td><a href="?remove=<?php echo $itemNumber; ?>">remove</a></td>
<td><?php echo $item['name']; ?></td>
<td><?php echo $item['price']; ?></td>
<td><input name="items_qty[<?php echo $itemNumber; ?>]" type="text" id="item<?php echo $itemNumber; ?>_qty" value="<?php echo $item['qty']; ?>" size="2" maxlength="3" /></td>
<td><?php echo $item['qty'] * $item['price']; ?></td>

<td><select name="items_size[<?php echo $itemNumber; ?>]" value="<?php echo $item['size']; ?>" type="text" id="item<?php echo $itemNumber; ?>_size" >
<option selected="selected" value="<?php echo $item['size']; ?>"><?php echo $item['size']; ?></option>
<option value="2">2</option>
<option value="4">4</option>
<option value="6">6</option>
<option value="8">8</option>
<option value="10">10</option>
<option value="12">12</option>
<option value="14">14</option>
<option value="16">16</option>
<option value="18">18</option>
<option value="20">20</option>
<option value="22">22</option>
<option value="24">24</option>
<option value="26">26</option>
<option value="28">28</option>
<option value="30">30</option>

</select>
<?php
foreach ($_SESSION['SHOPPING_CART'] as $item_id => $item)
{
    echo '<p>Name: ' . $item['name'] . ' for ' . $item['price'] . '$</p>';
    foreach($item['size'] as $j => $size)
    {
        echo '<p>#' . $j . ': size ' . $size . ', length ' . $item['length'][$j] . '</p>';
    }
}
?>
<?php
$order=strtotime("now");

if($cntry == "USA" || $cntry =="United States Of America" || $cntry == "America")
{
$price=100;
}
else
{
$price=200;
}

?>
<td><select name="items_length[<?php echo $itemNumber; ?>]" type="text" select="<?php echo $item['length']; ?>" id="item<?php echo $itemNumber; ?>_length" >
<option selected="selected" value="<?php echo $item['length']; ?>"><?php echo $item['length']; ?></option>
<option value="46">46</option>
<option value="48">48</option>
<option value="50">50</option>


</select>

</tr>
<?php
}
?>

这里

foreach ($_SESSION['SHOPPING_CART'] as $item_id => $item)
    {
        echo '<p>Name: ' . $item['name'] . ' for ' . $item['price'] . '$</p>';
        foreach($item['size'] as $j => $size)
        {
            echo '<p>#' . $j . ': size ' . $size . ', length ' . $item['length'][$j] . '</p>';
        }
    }

这部分是由论坛成员之一向我推荐的 .

将以下行添加到项目数组后(第1部分)

'size' => array_fill(0, $_GET['qty'], $_GET['size']),

    'length' => array_fill(0, $_GET['qty'], $_GET['length']),

当我更改数量后按更新按钮它没有更新..它保持在一个...

现在我真的不知道或不知道在哪里添加什么代码 . 我很迷惑 . 请帮我

1 回答

  • 1

    从我在你的问题中看到的你刚刚发布了你所拥有的整个代码,并要求人们进行调试 .

    我理解你的挫败感,我曾多次去过那里,但是你没有用复制粘贴来帮助你 . 我试图通过代码,没有缩进,有无数的 Headers 重定向,基本上很难调试它甚至理解发生了什么 . 我甚至尝试编辑它以使其更具可读性,但在10分钟后我放弃了 .

    将代码拆分为较小的块,您将自己找到解决方案

    对于您的问题:您可以做的是做一些服务器端检查或客户端检查

    客户检查:

    • 您可以添加4行(数量4)并允许用户选择每个项目的tize . 在提交期间从用户获取数据后,您可以合并数量 .

    • 您可以添加40号的数量4,但也提供一个按钮(同样这是Javascript),它会从数量中删除一个项目并创建一个新的行项目,以便用户可以添加新的大小 .

    服务器检查:

    • 让用户选择尺寸,然后完成后,为订单的每个项目提供不同尺寸的页面 .

    你采取哪种方法取决于你 .

    PS:请请考虑将您的数据库访问权限更改为 mysqliPDO . mysql 已被弃用 . 如果这样做,这个网站上有很多资源 .

相关问题