A-AA+then

ทำไงให้มันเก็บค่าลง arry ไปเรื่อยๆอ่ะครับ

2,930
การทำงานมีดังนี้ครับคือ

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 ความคิดเห็น

ง่ายๆเลยครับ

$_SESSION['cart'][] = $_POST;// เก็บค่าที่โพสต์มา ลง session

print_r($_SESSION['cart']);// แสดงสินค้าในตะกร้า

unset($_SESSION['cart']);// เคลียร์

เรื่องของเรื่องก็คือ PHP ไม่สามารถรักษาตัวแปร array ไว้ได้ครับ กด enter ครั้งแรก มันจะส่งไปครั้งหนึ่งและถูกทำลายไป กดอีกครั้ง ก็จะไปเริ่มใหม่

ในทางปฏิบัติ เราจะต้องบันทึกข้อมูลที่ส่งไป เก็บไว้ในตัวแปรที่สามารถใช้งานข้ามหน้าได้ ซึ่งก็มี 2 วิธีหลักๆ คือ

1.เก็บข้อมูลที่โพสต์ ลงบน db
2.เก็บข้อมูลที่โพสต์ ลง session (ตามตัวอย่างด้านบน)
1
^