|
|
|
รบกวนแนะนำระบบตะกร้าสินค้าที่แต่งราคาเป็นเรทหน่อยค่ะ |
|
|
|
|
|
|
|
ใช้ if..else ก่อนการคำนวนจำนวนเงินแต่ละสินค้า
|
|
|
|
|
Date :
2013-04-22 10:48:26 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ออกแบบเป็นตารางไว้ก็ได้ครับ มี rank ของราคา เก็บเป็น start - end ไว้แต่ล่ะ record รายการครับ
|
|
|
|
|
Date :
2013-04-22 11:06:25 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ associative array ก็ได้ครับ
<?php
// ราคาของสินค้าตามจำนวน
$prices = array(
1 => 50,
10 => 40,
50 => 35,
100 => 30,
);
$qty = 15;
// วนลูปราคาสินค้าทั้งหมด
// โดยให้ $q เท่ากับจำนวน และ $p เท่ากับราคา
foreach ($prices as $q => $p) {
// หาก $q มากกว่า $qty
if ($q > $qty) {
// ออกจากลูป
break;
}
// นอกนั้นกำหนดราคาให้เท่ากับ $p
$price = $p;
}
echo "Price for $qty items is $price.";
|
|
|
|
|
Date :
2013-04-22 11:13:57 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณสำหรับทุกคำตอบค่ะ
รบกวนเพิ่มเติม
กรณีที่แยกตารางไว้กำหนด rank ของราคา ตามช่วงจำนวน start - end ต้องวนลูปยังไงคะ
|
|
|
|
|
Date :
2013-05-08 15:45:25 |
By :
parry |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งงคำถามนิดนึงครับ ลองยกตัวอย่างให้ชัดเจนกว่านี้ครับ
|
|
|
|
|
Date :
2013-05-08 18:43:13 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สินค้าแต่ละตัวแบ่งเรทราคาไม่เท่ากัน
เช่น สินค้าA
ซื้อ 1ชิ้ น ราคา 100฿
ซื้อ 10 ราคา 95฿
ซื้อ 20 ชิ้ น ราคา 90฿
ซื้อ 50 ชิ้ น ราคา 80฿
**** สินค้า A มี 4 เรทราคา
สินค้าฺB
ซื้อ 1ชิ้ น ราคา 100฿
ซื้อ 50 ราคา 95฿
ซื้อ 100 ชิ้ น ราคา 90฿
**** สินค้าB มี 3 เรทราคา
มันเลยต้องสร้างตารางใหม่ขึ้นมา เพื่อเก็บ เรทราคาพวกนี้ ถูกมั๊ยคะ อย่างที่พี่วินว่า คือเก็บค่าเป็นช่วง start คือจำนวนต่ำสุดของช่วงราคานั้น
end คือจำนวนสูงสุดของช่วงราคานั้น และ rateprice คือราคาของแต่ละช่วง
พอจะนึกออกมั๊ยคะ
ติดตรงที่ไม่รู้ว่าจะวนลูปยังไงให้มันเช็คว่า ซื้อจำนวนเท่านี้ อยู่ในเรทราคาไหน แล้วให้ดึงเรทราคานั้นมาคำนวนน่ะค่ะ
|
ประวัติการแก้ไข 2013-05-09 10:47:51
|
|
|
|
Date :
2013-05-09 09:35:53 |
By :
parry |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แระค่ะ
กำหนดเงื่อนไขไว้ที่คำสั่ง SQL ให้มันเช็คว่าจำนวนที่รับมาอยู่ในช่วงไหน
Code (PHP)
$sql="SELECT
`transaction`.`pId`,
`product`.`b_name`,
`productrate`.`rmin`,
`productrate`.`rmax`,
`productrate`.`rpro`,
`productrate`.`prate`,
`transaction`.`pQuantity`
FROM
`transaction`
INNER JOIN `product` ON (`transaction`.`pId` = `product`.`id`)
INNER JOIN `productrate` ON (`product`.`id` = `productrate`.`rpro`)
WHERE
(`transaction`.`pQuantity` >= `productrate`.`rmin`) AND
(`transaction`.`pQuantity` <= `productrate`.`rmax`) AND
(`transaction`.`ssId`='$PHPSESSID')";
ขอบคุณสำหรับทุกคำชี้เแนะค่ะ
^_^
|
ประวัติการแก้ไข 2013-05-09 10:47:21
|
|
|
|
Date :
2013-05-09 10:45:54 |
By :
parry |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จัดไป
|
|
|
|
|
Date :
2013-05-09 12:21:48 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|