|
|
|
เปลี่ยนค่า textbox session จำนวน ใน form cart ไม่ได้ |
|
|
|
|
|
|
|
ต้องไป update ค่าใน ตัวแปร session array ครับ
foreach หรือ for หรือไรก็ได้ ที่ดึงค่าออกมาแล้วแทนตัวแปรเข้าไปแทน
ลองศึกษาพวก session array นะครับ
เห็นมีใน thaicreate นี่แหละพี่วินเขียนไว้ https://www.thaicreate.com/php/php-session-array.html
|
|
|
|
|
Date :
2011-08-16 16:50:52 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใส่ยังไงอะคร้าบงงอะ
Code (PHP)
<?
foreach($_SESSION["ses_p_nameid"] as $key=>$value){
?>
<tr>
<td align="center" bgcolor="#F0F0F0" class="font_menu"><?=$_SESSION['ses_p_nameid'][$key]?></td>
<td align="center" bgcolor="#F0F0F0" class="font_menu"><?=$_SESSION['ses_pro_name'][$key]?></td>
<td align="center" bgcolor="#F0F0F0" class="font_menu"><?=$_SESSION['ses_pro_price'][$key]?></td>
<td align="center" bgcolor="#F0F0F0" class="font_menu"><?=$_SESSION['ses_pro_send'][$key]?></td>
<td align="center" bgcolor="#F0F0F0" class="font_menu"><p>
<input type="text" name="qa" id="qa" value="<?=$_SESSION['ses_pro_qty'][$key]?>" size="1" maxlength="3" />
</a></p></td>
<td align="center" bgcolor="#F0F0F0" class="font_menu"><?=$_SESSION['ses_p_sum'][$key] = (($_SESSION['ses_pro_price'][$key] + $_SESSION['ses_pro_send'][$key]) * $qa);?></td>
<td align="center" bgcolor="#F0F0F0" class="font_menu"><p><a href="javascript:if(confirm('ลบรายการสินค้า')==true){window.location='?do=cart&did=<?=$_SESSION['ses_p_nameid'][$key]?>';}"><img src="images/del.jpg" width="32" height="32" border="0" /></a></p></td>
</tr>
<?
$i++;
}
?>
|
|
|
|
|
Date :
2011-08-16 17:00:42 |
By :
hixor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมก็งงครับ
เอานี่ไปลองเล่นดูนะครับ
จะได้เข้าใจมากขึ้น
Code (PHP)
<?php header ('Content-type: text/html; charset=utf-8');
session_start();
//session_destroy();
// Cart
if (!isset($_SESSION["cart"])) {
$_SESSION["cart"] = array();
}
$data = array(
array("id"=>1, "name"=>"โอวันติล", "price"=>"250", "amount"=>"1"),
array("id"=>2, "name"=>"ไมโล", "price"=>"399", "amount"=>"2"),
array("id"=>3, "name"=>"ชาเขียว", "price"=>"89", "amount"=>"3")
);
$c = count($data);
for ($rs = 0; $rs < $c; $rs++)
{
$_SESSION["cart"][$data[$rs]["id"]] = array("name" => $data[$rs]["name"], "price" => $data[$rs]["price"], "amount" =>$data[$rs]["amount"]);
}
// ลบออกตาม removeID=x
// เรียกใช้แบบนี้ครับ http://localhost/testzone/cart.php?removeID=1 2 3 อะไรก็ว่าไปตาม id ของ array
unset($cart[$_GET['removeID']]);
// update เรียกใช้แบบนี้ครับ http://localhost/testzone/cart.php?update=update
// สังเกตจำนวนจะเปลี่ยนไปนะ
if($_GET['update']=="update"){
$data_new = array(
array("id"=>1, "name"=>"โอวันติล", "price"=>"250", "amount"=>"5"),
//array("id"=>2, "name"=>"ไมโล", "price"=>"399", "amount"=>"6"),
array("id"=>3, "name"=>"ชาเขียว", "price"=>"89", "amount"=>"7")
);
$c_new = count($data_new);
for ($rs = 0; $rs < $c_new; $rs++)
{
$_SESSION["cart"][$data_new[$rs]["id"]] = array("name" => $data_new[$rs]["name"], "price" => $data_new[$rs]["price"], "amount" =>$data_new[$rs]["amount"]);
}
}
echo "<table border='1'>
<tr>
<td>ID</td>
<td>Name</td>
<td>Price</td>
<td>Amount</td>
<td>Total</td>
</tr>
";
$cart = $_SESSION["cart"];
foreach($cart as $key=>$val){
$total = $val['price'] * $val['amount'];
$grandTotal = $grandTotal + $total;
echo "
<tr>
<td>".$key."</td>
<td>".$val['name']."</td>
<td>".$val['price']."</td>
<td>".$val['amount']."</td>
<td>".$total."</td>
</tr>
";
}
echo "<tr><td colspan='4' align='right'>ราคารวม</td><td>".$grandTotal."</td></tr>";
echo "</table> ";
?>
|
ประวัติการแก้ไข 2011-08-16 17:45:41
|
|
|
|
Date :
2011-08-16 17:33:24 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งง ต่อไป เห้ออ
|
|
|
|
|
Date :
2011-08-16 20:18:16 |
By :
hixor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณจะต้องไปเปลี่ยนค่า Session ก่อนน่ะครับ ตอนที่ Update
|
|
|
|
|
Date :
2011-08-16 20:52:53 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ซ้อมเยอะๆ ครับจะได้ไม่งง เห่อๆ
|
|
|
|
|
Date :
2011-08-17 17:28:18 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|