我有一个小商店,我想要做的是在更改输入字段中的值后更新会话数量。
cart.php :
if(count($_SESSION['cart_items'])>0){
$product_ids = "";
foreach($_SESSION['cart_items'] as $product_id=>$value){
$product_ids = $product_ids . $product_id . ",";
}
$product_ids = rtrim($product_ids, ',');
$query = "SELECT product_id, name FROM products WHERE product_id IN ({$product_ids}) ORDER BY name";
$stmt = $con->prepare( $query );
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
$quan = $_SESSION['cart_items'][$product_id];
echo "{$name}";
echo "<input type='number' value='{$quan}'>";
}
echo "<form action='checkout.php' method='get'>
<button> Checkout</button>
</form>";
}
因此,当我点击checkout按钮时,checkout.php上应该有适合每种产品的数量。
checkout.php :
$query = "SELECT product_id, name FROM products WHERE product_id IN ({$product_ids}) ORDER BY name";
$stmt = $con->prepare( $query );
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
$quan = $_SESSION['cart_items'][$product_id];
echo "{$name}";
echo "{$quan}";
}
答案 0 :(得分:0)
如果我理解正确,你必须做那样的事。
cart.php
if(count($_SESSION['cart_items'])>0){
$product_ids = "";
foreach($_SESSION['cart_items'] as $product_id=>$value){
$product_ids = $product_ids . $product_id . ",";
}
$product_ids = rtrim($product_ids, ',');
$query = "SELECT product_id, name FROM products WHERE product_id IN ({$product_ids}) ORDER BY name";
$stmt = $con->prepare( $query );
$stmt->execute();
echo "<form action='checkout.php' method='post'>";
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
$quan = $_SESSION['cart_items'][$product_id];
echo "{$name}";
echo "<input type='number' name='quantity_{$product_id}' value='{$quan}'>";
}
echo "<input type='submit' value='Chekout'> Checkout</input></form>";
}
checkout.php:
$query = "SELECT product_id, name FROM products WHERE product_id IN ({$product_ids}) ORDER BY name";
$stmt = $con->prepare( $query );
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
$quan = $_SESSION['cart_items'][$product_id];
$productStr = "quantity_" . {$product_id};
$newQuant = $_POST[$productStr];
echo "{$name}";
echo "{$quan}";
echo $newQuant;
}