好的,所以我有一个自制的购物车,允许客户将图片添加到购物车,选择图片的大小,然后结帐。
对于图片 10x12 <的订单,对于不包含大于 8x12 和 $ 4.99 的图片的订单,我将收取 $ 2.99 / strong>及以上。
我的尺寸是通过<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美元。
任何帮助将不胜感激!
答案 0 :(得分: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">
答案 1 :(得分:0)
如果您为每个选项设置一个整数值并将其与&lt;,&gt;进行比较,该怎么办?或=
<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>
答案 2 :(得分:0)
您需要先为每个选项分配一个值,然后将这些值放入一个数组中。然后你可以找到该值$max = MAX($size);
if ($max <=7) { $_SESSION['shipping'] = '2.99';
}
else {
$_SESSION['shipping'] = '4.99';
}
的MAX这只是概念,你需要确切的代码。我假设$ size是订单中所有尺寸的数组名称。