|
|
|
มีปัญหาเรื่องการคำนวณราคาสินค้าของตะกร้าสินค้าครับ รบกวนพี่ๆช่วยหน่อยครับ |
|
|
|
|
|
|
|
ไฟล์ cart.php
Code (PHP)
<form action="" method="post" enctype="multipart/form-data">
<table align="center" width="800" bgcolor="#CCCCCC">
<tr>
<td colspan="5"><h2 id="titleall">ตะกร้าสินค้าของคุณ</h2></td>
</tr>
<tr align="center" >
<th>ลบ</th>
<th>สินค้า</th>
<th>จำนวน</th>
<th>ราคา</th>
</tr>
<?php
$total = 0;
global $con;
$ip = getIp();
$sel_price = "Select * From fitup_cart where fitup_c_ip_add='$ip'";
$run_price = mysqli_query($con, $sel_price);
while ($p_price=mysqli_fetch_array($run_price)){
$pro_id = $p_price['fitup_c_id'];
$pro_price = "Select * From fitup_products where fitup_pd_id='$pro_id'";
$run_pro_price = mysqli_query($con, $pro_price);
while ($pp_price=mysqli_fetch_array($run_pro_price)){
$product_price = array($pp_price['fitup_pd_price']);
$product_title = $pp_price['fitup_pd_title'];
$product_img = $pp_price['fitup_pd_img'];
$single_price = $pp_price['fitup_pd_price'];
$values = array_sum($product_price);
$total += $values;
?>
<tr align="center">
<td><input type="checkbox" name="remove[]" value="<?php echo $pro_id; ?>"/></td>
<td align="left"><?php echo $product_title; ?><br />
</td>
<td><input type="number" class="InputNum" name="qty" value="<? echo $_SESSION['fitup_c_quantity'];?>" size="3" min="1" max="5" /></td>
<?php
if(isset($_POST['update_qty'])) {
$qty = $_POST['qty'];
$update_qty = "update fitup_cart set fitup_c_quantity='$qty'";
$run_qty = mysqli_query($con, $update_qty);
$_SESSION['fitup_c_quantity']=$qty;
$total =$total*$qty;
}
?>
<td><?php echo $single_price; ?> บาท</td>
</tr>
<?php } } ?>
<tr align="right">
<td colspan="4"><b>ราคาทั้งหมด: <?php echo $total; ?> บาท </b></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="update_cart" value="ลบสินค้า"/> </td>
<td><input type="submit" name="continue" value="ซื้อสินค้าต่อ"/> <input type="submit" name="update_qty" value="คำนวณราคา"/> </td>
<td><button><a href="checkout.php" style="text-decoration:none; color:black;">checkout</a></button> </td>
</tr>
</table>
</form>
<?php
$ip = getIp();
if(isset($_POST['update_cart'])) {
foreach ($_POST['remove'] as $remove_id) {
$delete_product = "delete from fitup_cart where fitup_c_id='$remove_id' AND fitup_c_ip_add='$ip'";
$run_delete = mysqli_query($con, $delete_product);
if ($run_delete) {
echo "<script>window.open('cart.php','_self')</script>";
}
}
}
if(isset($_POST['continue'])) {
$total = 0;
echo "<script>window.open('index.php','_self')</script>";
}
?>
ไฟล์ functionsที่เกี่ยวข้อง
Code (PHP)
// creating the shopping cart
function fitupcart(){
if(isset($_GET['add_cart'])){
global $con;
$ip = getIp();
$pro_id = $_GET['add_cart'];
$check_pro = "Select * From fitup_cart where fitup_c_ip_add='$ip' AND fitup_c_id='$pro_id'";
$run_check = mysqli_query($con, $check_pro);
if(mysqli_num_rows($run_check)>0) {
echo "";
}
else {
$insert_pro = "insert into fitup_cart (fitup_c_id,fitup_c_ip_add) values ('$pro_id','$ip')";
$run_pro = mysqli_query($con, $insert_pro);
echo "<script>window.open('index.php','_self')</script>";
}
}
}
จากหน้าเว็บ เมื่อเลือกสินค้าที่ต้องการ คลิกปุ่ม ซื้อสินค้าใต้รูป ตามภาพนะครับ
*********เมื่อกดซื้อสินค้าจะทำการเพิ่มข้อมูลลงใน ตาราง*********
เมื่อกดไปที่ตะกร้า (cart.php) จะปรากฎ ราคา จำนวน ราคาทั้งหมด ดังภาพ
ลองซื้อมากกว่า 1 ชิ้น ลองไป 3 ชิ้น
การคำนวณถูกต้อง
แต่ปัญหาของผมก็คือ เมื่อมีสินค้า ในตะกร้ามากกว่า 1 ตัวขึ้นไปการคำนวณจะมั่วไปหมดเลยครับ ตามภาพ
ความเป็นจริง ราคาทั้งหมดต้องแสดง 299*3= 897 / 400*3=1200 รวมแล้วจะต้องได้ 2097
ภาพ ตารางหลังการกดซื้อ
code ทั้งหมดผมทำตาม youtube ลิ้ง https://www.youtube.com/watch?v=utQW0QFxJw0 จนมาถึงขั้นตอนสุดท้ายคลิปท้าย ผมเลื่อนไปอ่านคอมเม้นคนสอนเค้าบอก การคำนวณใช้ได้กับ สินค้าตัวเดียว
ผมจึงอยากให้พี่ๆรบกวนช่วยแก้ให้ผมหน่อยครับ อยากดูโค๊ดตรงไหน หรือ db รบกวนบอกได้เลยครับ
ปัญหาอีกอย่าง เวลาผมอยากจะซื้อสินค้า เช่น ผมเลือกสินค้า A มาก่อน แล้วเลือกสินค้าB เวลาผมใส่ จำนวน ที่สินค้า A ที่ 3 ชิ้น สินค้า B 1 ชิ้น แต่ใน DB ขึ้น 3 ทั้ง 2 ชิ้นเลย
Tag : PHP, MySQL, Windows
|
ประวัติการแก้ไข 2015-09-29 15:50:54
|
|
|
|
|
Date :
2015-09-29 15:42:39 |
By :
champalway |
View :
1203 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เดี๋ยวนี้ผมชอบที่จะช่วยสอนคนที่ทำแล้วติดปัญหา แนะนำวิธีแก้ปัญหาเออเร่อร์ให้
แล้วกลับไปแก้ไขเอง ตามความคิดของตัวเอง หรือตัวอย่างโค๊ดสั้นๆให้
ประเภทเขียนโค๊ดยาวๆ ให้คงไม่ทำแล้ว
และสำหรับคนที่เขียนไม่เป็น ผมก็จะแนะนำให้ไปอ่าน การเขียนโปรแกรมเบื้องต้นก่อน
เช่นสำหรับคุณควรจะเข้าไปอ่านศึกษาได้ที่ http://www.thaicreate.com/php.html
ส่วนคำสั่งแต่ล่ะคำสั่ง เข้าไปอ่าน document ของ PHP ให้เข้าใจหลักการเบื้องต้นก่อน
ถ้าอยากได้เร็ว จ้างครับ ผมก็รับจ้่างเขียนโปรแกรมเหมือนกัน
สำหรับคุณที่เขียนโปรแกรมอื่นเป็นอยู่บ้างได้เคยเข้ามาช่วยตอบปัญหา
ของโปรแกรมที่คุณเขียนเป็นให้ใครบ้างหรือยังครับ
|
|
|
|
|
Date :
2015-10-01 13:23:02 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$update_qty = "update fitup_cart set fitup_c_price='$single_price' where id=$_POST[id] ";
ต้องกำหนด where clause ให้กับ id ด้วยครับ
|
|
|
|
|
Date :
2015-10-01 14:09:37 |
By :
NewbiePHP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|