我不是想要屈尊俯就,只是要清楚。
原来如此!我有一个包含数组的会话。 我有' id'这是使用GET [' id']从URL设置的(例如:php?id = 1)。 我也有数量'这是自动1.
如果会话中添加了几个ID号,请说id => 1,id => 2,id => 3,当然还有qty =>所有三个阵列都是1。
我想更新数据'价值' id' 2号,没有改变数量'其他id号(1和3)的值。而且我想为每个人的身份做到这一点。
Bellow是我的代码,运行它保存为cart.php。然后运行三次,第一次是localhost / cart.php?= 1,localhost / cart.php?= 2,localhost / cart.php?= 3。这样您就可以在会话中存储三个ID号。然后去cart.php。
的index.php **代码
<div class="product">
<h3>Baketball</h3>
<a href="add-to-cart.php?id=1">Add to cart</a>
</div>
<div class="product">
<h3>Football</h3>
<a href="add-to-cart.php?id=2">Add to cart</a>
</div>
<div class="product">
<h3>Baseball</h3>
<a href="add-to-cart.php?id=3">Add to cart</a>
</div>
cart.php **码
// set the array and store in session
$_SESSION['items'][]=array(
'id'=>"'".$_GET['id']."'",
'qty'=> 1
);
// Display each array value stored in the session
foreach ($_SESSION['items'] as $value) {
// Display the id
echo 'The ID is ' ."''''" . $value['id'] ."''''" ;
// Display the Qty
echo 'the QTY ' ."''''" . $value['qty'] ."''''" ;
echo "<br/>";
//Display and edit quantity in a form.
echo "<form method='post' action='id.php' name='edit'>
<p>Quantity: <input type=\"text\" size=\"20\" name='".$value['id']."' value='".$value['qty']."'/> </p><br>
<input class='save' name='update' value='update' type='submit'>
</form>";
}
// check if the update button is submited so that the qty value can be changed where the id number of the selected qty input box is edited
if (isset($_POST["update"])) {
$_SESSION['item'][$id]= $_POST["'".$value['id']."'"];
}
?>
答案 0 :(得分:0)
我没有看到您发布的其余代码中$id
的设置位置。所以我在这里再次定义它,只是为了确定。
将您的输入更改为:
echo "<p>ID: <input type='text' name='id' value='" . $value['id'] . "'></p>";
echo "<p>Quantity: <input type='text' size='20' name='qty' value='" . $value['qty'] . "'/></p>";
理想情况下,id字段应为type =&#34; hidden&#34;,但至少可以看到测试的数字。
然后您可以使用它来更新会话:
$id = $_POST['id'];
$qty = $_POST['qty'];
$_SESSION['item'][$id] = $qty;