Bee1
Newbie
พลังน้ำใจ: 0
ออฟไลน์
กระทู้: 6
|
|
« เมื่อ: 09 กุมภาพันธ์ 2017, 13:43:11 » |
|
เป็นโค้ดเกี่ยวกับตะกร้า ครับ <?php session_start(); $itemId = isset($_GET['itemId']) ? $_GET['itemId'] : ""; if ($_POST) { for ($i = 0; $i < count($_POST['qty']); $i++) { $key = $_POST['arr_key_' . $i]; $_SESSION['qty'][$key] = $_POST['qty'][$i]; header('location:cart.php'); } } else { if (!isset($_SESSION['cart'])) { $_SESSION['cart'] = array(); $_SESSION['qty'][] = array(); } if (in_array($itemId, $_SESSION['cart'])) { $key = array_search($itemId, $_SESSION['cart']); $_SESSION['qty'][$key] = $_SESSION['qty'][$key] + 1; header('location:index.php?a=exists'); } else { array_push($_SESSION['cart'], $itemId); $key = array_search($itemId, $_SESSION['cart']); $_SESSION['qty'][$key] = 1; header('location:index.php?a=add'); } } ?>
|
|
|
บันทึกการเข้า
|
|
|
|
siriyot00
สมุนแก๊งเสียว
พลังน้ำใจ: 34
ออฟไลน์
กระทู้: 762
|
|
« ตอบ #1 เมื่อ: 09 กุมภาพันธ์ 2017, 14:15:37 » |
|
1 เปิดใช้งาน session_start(); เพื่อใช้ session
2 $itemId = isset($_GET['itemId']) ? $_GET['itemId'] : ""; ค่าตัวแปร $itemId รับค่าจาก $_GET['itemId'] และใช้ isset เช็คว่ามีค่าตัวแปรนี้ไหม
3 if($_POST) เช็คว่ามีการส่งตัวแปรเป็นโพสไหม ถ้ามี ก็ไป 3.1 ถ้าไม่มี ก็ไป 3.2
3.1 วนลูปด้วย for นับจำนวน สินค้าด้วยตัวแปร $_POST['qty'] { ในนี้ไม่แน่ใจว่า arr_key_ คือไร น่าจะเป็นชือสินค้าปะ สร้าง session['จำนวนสินค้า']['ชื่อสินค้า'] = ตัวแปร $_POST['qty'][$i]; ไปยังหน้า cart.php } 3.2 ถ้าไม่มีค่า $_POST { ถ้า ไม่มี $_SESSION['cart'] { ก็ให้ session cart and qty เป็น array ว่างเปล่า $_SESSION['cart'] = array(); $_SESSION['qty'][] = array(); } ถ้าตัวแปร $itemId,session['cart'] มี array { ตัวแปร key = array_search ($itemId, $_SESSION['cart']) ฟังก์ชันการค้นหาค่าคีย์ในอาร์เรย์และผลตอบแทนที่ชื่อคีย์ที่สอดคล้องกัน $_SESSION['qty'][$key] = $_SESSION['qty'][$key] + 1; // คือการ เพิ่มจำนวนสินค้า +1 ไปหน้า header('location:index.php?a=exists'); }หรือถ้าไม่มีจำนวนสินค้า{ array_push($_SESSION['cart'], $itemId) ก็จับใส่เพิ่มข้อมูลใน array ตัวแปร key = array_search ($itemId, $_SESSION['cart']) ฟังก์ชันการค้นหาค่าคีย์ในอาร์เรย์และผลตอบแทนที่ชื่อคีย์ที่สอดคล้องกัน $_SESSION['qty'][$key] = 1; จำนวนสินค้าก็เท่ากับหนึ่ง ไปหน้า header('location:index.php?a=add'); } }
|
|
|
บันทึกการเข้า
|
Thaipromoteboard.com
|
|
|
siriyot00
สมุนแก๊งเสียว
พลังน้ำใจ: 34
ออฟไลน์
กระทู้: 762
|
|
« ตอบ #2 เมื่อ: 09 กุมภาพันธ์ 2017, 14:17:28 » |
|
มั่วล้วน ๆ ครับ ผมไม่ได้เรียนมานะ เลยอธิบายไม่เป็น 55555
5555555 กลับมาอ่านเองยังไม่เข้าใจเลยครับ รอคนเก่งมาละกันครับ
|
|
« แก้ไขครั้งสุดท้าย: 09 กุมภาพันธ์ 2017, 14:19:39 โดย siriyot00 »
|
บันทึกการเข้า
|
Thaipromoteboard.com
|
|
|
Bee1
Newbie
พลังน้ำใจ: 0
ออฟไลน์
กระทู้: 6
|
|
« ตอบ #3 เมื่อ: 09 กุมภาพันธ์ 2017, 14:21:11 » |
|
ขอบคุณมากครับ กราบงามๆเลยครับ
|
|
|
บันทึกการเข้า
|
|
|
|
Bee1
Newbie
พลังน้ำใจ: 0
ออฟไลน์
กระทู้: 6
|
|
« ตอบ #4 เมื่อ: 09 กุมภาพันธ์ 2017, 14:38:41 » |
|
ขอความกรุณาอีกโค้ดครับ พี่ <?php $total_price = 0; $num = 0; while ($meResult = mysql_fetch_assoc($meQuery)) { $key = array_search($meResult['id'], $_SESSION['cart']); $total_price = $total_price + ($meResult['product_price'] * $_SESSION['qty'][$key]); ?> <tr> <td><img src="images/<?php echo $meResult['product_img_name']; ?>" border="0"></td> <td><?php echo $meResult['product_code']; ?></td> <td><?php echo $meResult['product_name']; ?></td> <td><?php echo $meResult['product_desc']; ?></td> <td> <input type="text" name="qty[<?php echo $num; ?>]" value="<?php echo $_SESSION['qty'][$key]; ?>" class="form-control" style="width: 60px;text-align: center;"> <input type="hidden" name="arr_key_<?php echo $num; ?>" value="<?php echo $key; ?>"> </td> <td><?php echo number_format($meResult['product_price'],2); ?></td> <td><?php echo number_format(($meResult['product_price'] * $_SESSION['qty'][$key]),2); ?></td> <td> <a class="btn btn-danger btn-lg" href="removecart.php?itemId=<?php echo $meResult['id']; ?>" role="button"> <span class="glyphicon glyphicon-trash"></span> ลบทิ้ง</a> </td> </tr> <?php $num++; } ?>
|
|
|
บันทึกการเข้า
|
|
|
|
ten1312
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 67
ออฟไลน์
กระทู้: 1,486
|
|
« ตอบ #5 เมื่อ: 09 กุมภาพันธ์ 2017, 15:17:18 » |
|
โค้ดไม่ได้เขียนเองเหรอ มันแค่ php พื้นฐานเองนะ
|
|
|
บันทึกการเข้า
|
บันทึกการเรียนเขียน Program Java :2 พย. 2559 - 19 พย. 2559 หยุดไว้ก่อน PHP SQL HTML CSS Bootstrap : 25 พย. 2559 - ปัจจุบัน Javascript jQuery Ajax Angular JS : เรียนผ่านๆยังไม่จริงจัง นานาเกษตร
|
|
|
snohomish
คนรักเสียว
พลังน้ำใจ: 7
ออฟไลน์
กระทู้: 111
|
|
« ตอบ #6 เมื่อ: 09 กุมภาพันธ์ 2017, 15:42:47 » |
|
ถ้าเข้าใจตรงนี้ ต่อยอดได้อีกไกลเลยครับ
|
|
|
บันทึกการเข้า
|
|
|
|
Bee1
Newbie
พลังน้ำใจ: 0
ออฟไลน์
กระทู้: 6
|
|
« ตอบ #7 เมื่อ: 09 กุมภาพันธ์ 2017, 15:54:53 » |
|
ใครรู้ช่วยหน่อยนะครับเพราะผมเรียนก็ดูโค้ดตามที่เขาแจกอ่ะครับแล้วเป็นคนอธิบายไม่เป็นภาษาทางการเท่าไหร่ครับอาจารย์บอกเธอไปฝึกมาใหม่ครับ
|
|
|
บันทึกการเข้า
|
|
|
|
tarllovemint
ก๊วนเสียว
พลังน้ำใจ: 10
ออฟไลน์
กระทู้: 222
|
|
« ตอบ #8 เมื่อ: 09 กุมภาพันธ์ 2017, 16:07:24 » |
|
จะสอบโปรเจคครับติดตอบคำถามไม่เคยผ่าน !!!!
ไม่ได้จะซ้ำนะครับ แต่ถ้าจะสอบก็ควรทำเอง
|
|
|
บันทึกการเข้า
|
|
|
|
Bee1
Newbie
พลังน้ำใจ: 0
ออฟไลน์
กระทู้: 6
|
|
« ตอบ #9 เมื่อ: 09 กุมภาพันธ์ 2017, 16:16:19 » |
|
แล้วแต่ความกรุณาก็แล้วกันนะครับ
|
|
|
บันทึกการเข้า
|
|
|
|
ten1312
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 67
ออฟไลน์
กระทู้: 1,486
|
|
« ตอบ #10 เมื่อ: 09 กุมภาพันธ์ 2017, 17:39:34 » |
|
ตามความเข้าใจของผม ผมก็เรียน php ได้ไม่นาน
<?php $total_price = 0; $num = 0; สร้างตัวแปร 2 ตัวไว้เก็บค่า while ($meResult = mysql_fetch_assoc($meQuery)) วนลูปเพื่อดึงค่า query จากฐานข้อมูลออกมา { $key = array_search($meResult['id'], $_SESSION['cart']); เอาไอดีจากฐานข้อมูลมาค้นใน session cart เพื่อหาค่าที่ตรงกัน ส่งค่า key ออกมา $total_price = $total_price + ($meResult['product_price'] * $_SESSION['qty'][$key]); ราคารวม = ราคารวมเก่า + (ราคาสินค้า*จำนวนสินค้านั้นจาก cart) ?> <tr> <td><img src="images/<?php echo $meResult['product_img_name']; ?>" border="0"></td>แสดงรูปสินค้า <td><?php echo $meResult['product_code']; ?></td> แสดงรหัสสินค้า <td><?php echo $meResult['product_name']; ?></td>แสดงชื่อสินค้า <td><?php echo $meResult['product_desc']; ?></td>แสดงคำอธิบาย <td> <input type="text" name="qty[<?php echo $num; ?>]" value="<?php echo $_SESSION['qty'][$key]; ?>" class="form-control" style="width: 60px;text-align: center;"> เป็นช่องที่สามารถเปลี่ยนจำนวนสินค้า <input type="hidden" name="arr_key_<?php echo $num; ?>" value="<?php echo $key; ?>">เอาไว้ส่งค่า key ไปทำงานที่อื่น </td> <td><?php echo number_format($meResult['product_price'],2); ?></td> แสดงราคาโดยใช้รูปแบบทศนิยม 2 ตำแหน่ง <td><?php echo number_format(($meResult['product_price'] * $_SESSION['qty'][$key]),2); ?></td>แสดงราคารวม <td> <a class="btn btn-danger btn-lg" href="removecart.php?itemId=<?php echo $meResult['id']; ?>" role="button"> <span class="glyphicon glyphicon-trash"></span> ลบทิ้ง</a> </td> </tr> <?php $num++; } ?>
|
|
|
บันทึกการเข้า
|
บันทึกการเรียนเขียน Program Java :2 พย. 2559 - 19 พย. 2559 หยุดไว้ก่อน PHP SQL HTML CSS Bootstrap : 25 พย. 2559 - ปัจจุบัน Javascript jQuery Ajax Angular JS : เรียนผ่านๆยังไม่จริงจัง นานาเกษตร
|
|
|
Bee1
Newbie
พลังน้ำใจ: 0
ออฟไลน์
กระทู้: 6
|
|
« ตอบ #11 เมื่อ: 09 กุมภาพันธ์ 2017, 19:27:03 » |
|
ขอบคุณมาเลยครับที่เข้าใจผมนะครับ. บ้างคนอาจเห็นว่าถ้าจะสอบก็ต้องทำเอง ผมก็อยากจะอธิบายว่า. ผมก็ทำเองบ้างถ้าทำไม่ได้ผมก็แค่หาความรู้เพิ่มคือเข้าไปอ่านโค้ดที่พวกพี่ๆที่เข้าแจกกันและก็อปมาใช้แต่ผมก็ไม่ได้ฉลาดอะไรขนาดนั้นที่จะเข้าใจอะไรทั้งหมด. อธิบายให้ฟังอาจารย์ฟังแล้วแต่ท่านก็บอกว่าไม่เข้าใจบ้างเพราะผมก็ไม่เก่งอธิบาย. ไม่ได้ดราม่านะครับอยากอธิบายและขอความเห็นใจให้กับนักศึกษาที่เป็นแบบผม
และขอขอบคุณพี่ๆที่เข้าใจและมาให้ความรู้กับผมครับ
|
|
|
บันทึกการเข้า
|
|
|
|
ten1312
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 67
ออฟไลน์
กระทู้: 1,486
|
|
« ตอบ #12 เมื่อ: 09 กุมภาพันธ์ 2017, 20:16:01 » |
|
ขอบคุณมาเลยครับที่เข้าใจผมนะครับ. บ้างคนอาจเห็นว่าถ้าจะสอบก็ต้องทำเอง ผมก็อยากจะอธิบายว่า. ผมก็ทำเองบ้างถ้าทำไม่ได้ผมก็แค่หาความรู้เพิ่มคือเข้าไปอ่านโค้ดที่พวกพี่ๆที่เข้าแจกกันและก็อปมาใช้แต่ผมก็ไม่ได้ฉลาดอะไรขนาดนั้นที่จะเข้าใจอะไรทั้งหมด. อธิบายให้ฟังอาจารย์ฟังแล้วแต่ท่านก็บอกว่าไม่เข้าใจบ้างเพราะผมก็ไม่เก่งอธิบาย. ไม่ได้ดราม่านะครับอยากอธิบายและขอความเห็นใจให้กับนักศึกษาที่เป็นแบบผม
และขอขอบคุณพี่ๆที่เข้าใจและมาให้ความรู้กับผมครับ
ท่านอื่นๆคงอยากให้ลองศึกษาดูก่อนครับ เพราะโค้ดนี้มันค่อนข้างพื้นฐาน ถ้าศึกษาเข้าใจ concept มันจะไปต่อยอดได้ ลองไล่แสดงค่าทีละบรรทัดเลย จะได้รู้ว่ามันมายังไง คำสั่งไหนไม่เคยเห็นก็หาใน google
|
|
|
บันทึกการเข้า
|
บันทึกการเรียนเขียน Program Java :2 พย. 2559 - 19 พย. 2559 หยุดไว้ก่อน PHP SQL HTML CSS Bootstrap : 25 พย. 2559 - ปัจจุบัน Javascript jQuery Ajax Angular JS : เรียนผ่านๆยังไม่จริงจัง นานาเกษตร
|
|
|
Zamek
Newbie
พลังน้ำใจ: 0
ออฟไลน์
กระทู้: 1
|
|
« ตอบ #13 เมื่อ: 10 กุมภาพันธ์ 2017, 11:29:45 » |
|
|
|
|
บันทึกการเข้า
|
|
|
|
|