0

好的,所以我有一个我自己构建的购物车,它允许客户将图片添加到购物车,选择图片的尺寸,然后结帐。

对于不包含大于8x12的图片的订单,我将收取2.99 美元,对于包含10x12及以上图片的订单,我将收取4.99 美元。

我的尺寸是通过 a 选择的<select>,然后存储在一个会话中,例如:$_SESSION['shipping'][$id]您可以看到下面的选择。

<select class="form-control" id="sizeSelector">
   <option>Select a Size</option>
   <option>4x4</option>
   <option>4x6</option>
   <option>5x7</option>
   <option>6x6</option>
   <option>8x8</option>
   <option>8x10</option>
   <option>8x12</option>
   <option>10x12</option>
   <option>12x16</option>
   <option>4x18</option>                    
</select>

我不希望将运费与 id 一起存储,因为它需要是购物车中每件商品的总计数。如果任何物品大于 8x12,则整个订单的运费需要为 4.99 美元。

我尝试在设置大小会话的脚本中执行以下操作,但无论选择何种大小,它总是会产生 2.99 美元。

if ($size <= '8x12') {
   $_SESSION['shipping'] = '2.99';
}
else {
   $_SESSION['shipping'] = '4.99';
}

以上是以下代码的片段:(包括片段)

<?php 

  session_start();

  require '../config/connect.php';

  $id = $_POST['id'];

  $_SESSION['size'][$id] = $_POST['size'];

  $category = $_SESSION['category'];

  $size = $_SESSION['size'][$id];

  $result = mysqli_query($con,"SELECT * FROM items_info WHERE type='".$size."'");

  while($row = mysqli_fetch_array($result))
  {
    $_SESSION['cost'][$id] = $row['price'];

    if ($size <= '8x12') {
        $_SESSION['shipping'] = '2.99';
    }
    else {
        $_SESSION['shipping'] = '4.99';
    }

  }

?>

所以基本上,我需要一些如何运行所有为大小设置的会话,如果有任何大于 8x12 的内容,请将运输会话设置为 4.99 美元。否则将运费设置为 ​​2.99 美元。

任何帮助将不胜感激!

4

3 回答 3

0

如果您为每个选项设置一个整数值并用 <、> 或 = 比较它们会怎样?

   <option value="0">Select a Size</option>
   <option value="1">4x4</option>
   <option value="2">4x6</option>
   <option value="3">5x7</option>
   <option value="4">6x6</option>
   <option value="5">8x8</option>
   <option value="6">8x10</option>
   <option value="7">8x12</option>
   <option value="8">10x12</option>
   <option value="9">12x16</option>
   <option value="19">4x18</option>   
于 2013-10-18T17:19:16.463 回答
0

您需要首先为每个选项分配一个值,然后将这些值放入订单数组中。然后您可以找到该值的 MAX$max = MAX($size); if ($max <=7) { $_SESSION['shipping'] = '2.99'; } else { $_SESSION['shipping'] = '4.99'; }这只是概念,您需要解决的确切代码。我继续假设 $size 将是顺序中所有大小的数组名称。

于 2013-10-18T17:38:29.693 回答
0

改变这个:

<select class="form-control" id="sizeSelector">
<option>Select a Size</option>
<option>4x4</option>
<option>4x6</option>
<option>5x7</option>
<option>6x6</option>
<option>8x8</option>
<option>8x10</option>
<option>8x12</option>
<option>10x12</option>
<option>12x16</option>
<option>4x18</option>                    
</select>

对此:

<select class="form-control" id="sizeSelector" name="size">
<option>Select a Size</option>
<option>4x4</option>
<option>4x6</option>
<option>5x7</option>
<option>6x6</option>
<option>8x8</option>
<option>8x10</option>
<option>8x12</option>
<option>10x12</option>
<option>12x16</option>
<option>4x18</option>                    
</select>

并检查您的表格:

<form method="post">
于 2013-10-18T17:18:05.903 回答