ทำไงให้มันเก็บค่าลง arry ไปเรื่อยๆอ่ะครับ
การทำงานมีดังนี้ครับคือ
1.เลือกสินค้าตัวที่ 1 กดปุ่ม enter ให้ข้อมูลเก็บลงใน array ตัวที่1
2.เลือกสินค้าตัวที 2 กดปุ่ม enter ให้ข้อมูลเก็บลงใน array ตัวที่2
3.แล้วเอาข้อมูลที่เก็บใน array ไปแสดงค่า ทั้ง 2 ค่า จะทำไงครับ มีโค๊ตดังนี้ครับ
ทำไงให้มันเก็บลง arry ไปเรื่อยๆอ่ะครับ
[head]Code (PHP)[/head]
[php]
<form action="" method="post" >
<table width="464" border="1" align="center">
<tr>
<td colspan="3" align="center">เลือกสินค้าที่ต้องการ</td>
</tr>
<tr>
<td width="80" align="right">เลือกสินค้า</td>
<td width="294" align="left">
<select name="select_product">
<option value="9999">เลือกสินค้า</option>
<option value="สินค้า1">สินค้า1</option>
<option value="สินค้า2">สินค้า2</option>
<option value="สินค้า3">สินค้า3</option>
<option value="สินค้า4">สินค้า4</option>
<option value="สินค้า5">สินค้า5</option>
<option value="สินค้า6">สินค้า6</option>
</select>
</td>
<td width="68" align="left"><input type="submit" value="เลือกสินค้า"></td>
</tr>
</table>
</form>
<?
$select_product =$_POST['select_product'];//รับค่าจาก select เมื่อกดปุ่ม enter
if($select_product){
$stack = array("$select_product"); //เก็บค่าใส่ อาเร ชื่อ stack
//ติดตรงนี้อ่ะครับจะทำไงเมื่อเรารับค่าตัวที่ 2 เข้ามาให้มันเพิ่มเข้าไปอีก 1 ตัวอ่ะครับ
array_push($stack,"$select_product"); //เพิ่มค่าลงไปเป็นตัวที่ 2
print_r($stack); //แสดงค่าในอาเร
}
?>
[/php]
การแสดงผล เพราะเลือกสินค้า 2 อย่าง
สินค้า1
สินค้า2
ขอบคุณครับ
1.เลือกสินค้าตัวที่ 1 กดปุ่ม enter ให้ข้อมูลเก็บลงใน array ตัวที่1
2.เลือกสินค้าตัวที 2 กดปุ่ม enter ให้ข้อมูลเก็บลงใน array ตัวที่2
3.แล้วเอาข้อมูลที่เก็บใน array ไปแสดงค่า ทั้ง 2 ค่า จะทำไงครับ มีโค๊ตดังนี้ครับ
ทำไงให้มันเก็บลง arry ไปเรื่อยๆอ่ะครับ
[head]Code (PHP)[/head]
[php]
<form action="" method="post" >
<table width="464" border="1" align="center">
<tr>
<td colspan="3" align="center">เลือกสินค้าที่ต้องการ</td>
</tr>
<tr>
<td width="80" align="right">เลือกสินค้า</td>
<td width="294" align="left">
<select name="select_product">
<option value="9999">เลือกสินค้า</option>
<option value="สินค้า1">สินค้า1</option>
<option value="สินค้า2">สินค้า2</option>
<option value="สินค้า3">สินค้า3</option>
<option value="สินค้า4">สินค้า4</option>
<option value="สินค้า5">สินค้า5</option>
<option value="สินค้า6">สินค้า6</option>
</select>
</td>
<td width="68" align="left"><input type="submit" value="เลือกสินค้า"></td>
</tr>
</table>
</form>
<?
$select_product =$_POST['select_product'];//รับค่าจาก select เมื่อกดปุ่ม enter
if($select_product){
$stack = array("$select_product"); //เก็บค่าใส่ อาเร ชื่อ stack
//ติดตรงนี้อ่ะครับจะทำไงเมื่อเรารับค่าตัวที่ 2 เข้ามาให้มันเพิ่มเข้าไปอีก 1 ตัวอ่ะครับ
array_push($stack,"$select_product"); //เพิ่มค่าลงไปเป็นตัวที่ 2
print_r($stack); //แสดงค่าในอาเร
}
?>
[/php]
การแสดงผล เพราะเลือกสินค้า 2 อย่าง
สินค้า1
สินค้า2
ขอบคุณครับ
$_SESSION['cart'][] = $_POST; // เก็บค่าที่โพสต์มา ลง session
print_r($_SESSION['cart']); // แสดงสินค้าในตะกร้า
unset($_SESSION['cart']); // เคลียร์
เรื่องของเรื่องก็คือ PHP ไม่สามารถรักษาตัวแปร array ไว้ได้ครับ กด enter ครั้งแรก มันจะส่งไปครั้งหนึ่งและถูกทำลายไป กดอีกครั้ง ก็จะไปเริ่มใหม่
ในทางปฏิบัติ เราจะต้องบันทึกข้อมูลที่ส่งไป เก็บไว้ในตัวแปรที่สามารถใช้งานข้ามหน้าได้ ซึ่งก็มี 2 วิธีหลักๆ คือ
1.เก็บข้อมูลที่โพสต์ ลงบน db
2.เก็บข้อมูลที่โพสต์ ลง session (ตามตัวอย่างด้านบน)