ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingแนะนำแนวทางการเขียน php ด้วยครับผม
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: แนะนำแนวทางการเขียน php ด้วยครับผม  (อ่าน 626 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
XpressMusic9
คนรักเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 164



ดูรายละเอียด เว็บไซต์
« เมื่อ: 22 เมษายน 2017, 14:36:34 »

 wanwan031
คือ ผมทำเว็บเกี่ยวกับ การขายสินค้าครับ
โดยผมใช้ code ตะกร้าสินค้า
http://www.itoffside.com/php-workshop-shopping-cart/

จากที่นี่ครับ
คือทุกอย่างเสร้จหมดแล้วสั่งซื้อ เพิ่มลบสินค้าได้หมดแล้ว

แต่ติดอย่างเดียวคือ จะเพิ่มค่าจัดส่งครับ

โดย 1 รายการแรก คิดค่าส่ง 50 บาท
รายการที่ 2 ฟรีค่าส่ง
รายการที่ 3-4 ค่าส่งอย่างละ 30 ครับ

พอจะแนะนำ code php แนวทางได้ไหมครับผม
บันทึกการเข้า

smapan
Global Moderator
เจ้าพ่อบอร์ดเสียว
*****

พลังน้ำใจ: 643
ออฟไลน์ ออฟไลน์

กระทู้: 8,272



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 22 เมษายน 2017, 14:50:30 »

นับจำนวนรายการ แล้ว เปรียบเทียบกับเงื่อนไขของจำนวนรายการ
รายการที่1 ค่าส่ง = 50 บาท
รายการที่2 ค่าส่ง = 0 บาท
รายการที่N ค่าส่งอย่างละ 30*n
บันทึกการเข้า

จูมล่าโฮส สยามโฮสเว็บ modty.com
รวมที่พัก เช่ารายวัน ที่พักเช่ารายเดือนมากที่สุดแจ่มจริง
***Tel 083-757-1515 ติดปัญหา Joomla ตรงไหนรับปรึกษาฟรี โทรมาเถอะครับ ถ้าตอบได้ช่วยแน่นอน ไม่มีกั้ก. ***
XpressMusic9
คนรักเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 164



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 22 เมษายน 2017, 14:53:30 »

ผมยังคิดไม่ออกว่า จะเขียนไปยังไง ในการเก็บค่า
รายการสินค้า

จากในลิงคืตัวอย่าง

ผมลอง echo  ตัวแปร  $key

ขึ้นมา มันไม่เรียงลำดับ 1 2 3 4 หน่ะครับผม
บันทึกการเข้า

nukerman
Newbie
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 94



ดูรายละเอียด
« ตอบ #3 เมื่อ: 22 เมษายน 2017, 15:09:32 »

โค๊ด:
$products = array(1,2,3,4,5);
$num = 1;
$price = 0;
foreach($products as $value) {
if($num == 1) {
$price += 50;
} else if ($num == 2) {
$price += 0;
} else {
$price += 30;
}
$num++;
}
echo $price;
« แก้ไขครั้งสุดท้าย: 22 เมษายน 2017, 15:16:32 โดย nukerman » บันทึกการเข้า
infamous
ก๊วนเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 295



ดูรายละเอียด
« ตอบ #4 เมื่อ: 22 เมษายน 2017, 17:07:22 »

คำแนะนำนะครับ

1. เพิ่ม shipping_cost เข้าไปใน products table ด้วยเพื่ออะไรเด๋วค่อยดูข้อต่อๆไปครับ

2. ที่หน้าแอดมินเราสามารถตั้งค่าการจัดส่งของสินค้าแต่ละรายการได้ว่าถ้าสั่งซื้อ 1 รายการค่าจัดส่งต่อหน่วยจะเป็นเท่าไหร่ (shipping_cost field)

3. เวลาลูกค้าสั่งซื้อสินค้าแต่ละรายการนั้น ค่าจัดส่งเรากำหนดไว้แล้วที่ข้อ 2 และเวลาจะเอามาใช้มันก็ง่ายด้วย คำนวณง่ายในะระบบ cart
เช่น
+ รายการ A ราคาต่อหน่วย 100 , ค่าจัดส่งต่อหน่วย 10  สั่งซื้อไป 3 แบบนี้ ในใบคำสั่งซื้อมันควรจะแสดง ราคาของ(100x3)+ ค่าจัดส่ง(10x3) = ? <-- สำหรับ sub-total ของรายการนี้
+ รายการ B เงื่อนไขจะเหมือนข้างบนครับ

ทำไมผมถึงแนะนำแบบนี้

ในการใช้งานจริงนั้นเวลาเราคิดค่าจัดส่ง มันไม่สามารถเรียงเป็นอันดับได้ว่าอันแรกควรจะคิดค่าจัดส่ง 50 บาท สมมุติว่าสินค้ารายการแรกที่ดึงมาจาก cart มันเป็นเครื่องบิน jet ล่ะครับ ร้านคุณจะเป็นยังไง มองภาพออกมั้ยครับ แต่ว่าถ้าทำแบบ fix ค่าจัดส่งไปเลยว่า เครื่องบิน jet ร้านเรามันลำละ 500 บาทนะ แบบนี้ไม่ว่ารายการนี้มันจะอยู่ลำดับที่เท่าไหร่ของ array ก็ไม่ต้องมานั่งปวดหัวกับการเขียนโค๊ด เผื่อมองภาพไม่ออก ดูตัวอย่างรายการใช้ใบคำสั่งซื้อนะครับ

รายการ1 - น้ำมันไข่เต่า 1 ขวด
รายการ2 - ไม้ตีแมลงวัน 2 ด้าม
รายการ3 - เครื่องบิน jet มือสอง ล้อหลังไม่มี 1 คัน(ขายดีมากในไทย)

วิธีที่จะทำให้ระบบฉลาดนั้น เราต้องมี algo ในหัวก่อนครับ
บันทึกการเข้า
XpressMusic9
คนรักเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 164



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 24 เมษายน 2017, 09:34:10 »

ขอบคุณทุกท่านที่เข้ามาช่วยตอบนะครับ
ผมบอกยังไม่ละเอียดเท่าที่ควร

ความต้องการจริงๆคือ ผมทำเว็บ เดลิเวอร์รี่ส่งสินค้าครับ
ภายในเว็บจะมีสินค้า และร้านค้า
แต่ละสินค้าก็มีจะ FK ของร้านค้าอยู่ประจำสินค้าครับ (เพื่อให้รู้ว่าสินค้านี้ของร้านไหน)
-----
เป็นกรณีศึกษาเล็กๆ

แต่ผมติดตรงค่าจัดส่ง ซึ่งมีเงื่อนไขดังนี้ครับ
สั่งซื้อสินค้า
- รายการที่ 1 ร้านที่ 1 ค่าจัดส่ง 50 บาท
- รายการที่ 2 ร้านที่ 2 ค่าจัดส่ง ฟรี
- รายการที่ 3 ร้านที่ 3 ค่าจัดส่ง 50+30 บาท
- รายการที่ 4 ร้านที่ 4 ค่าจัดส่ง 50+30+30 บาท
- รายการที่ 5 ร้านที่ 5 ค่าจัดส่ง 50+30+30+30 บาท

แต่ละร้านสามารถสั่งสินค้าได้ไม่จำกัดรายการ คือปริมาณรายการที่สั่งซื้อไม่จำกัด แต่จำกัดที่ จำนวนร้านที่สั่ง
ประมาณนี้ครับผม
บันทึกการเข้า

XpressMusic9
คนรักเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 164



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 24 เมษายน 2017, 10:42:35 »

ผมลอง print_r $meQuery ออกมาดูครับ


จะเห็นว่า sh_id คือ ID ของร้านค้าหน่ะครับ
ถ้าเรานำค่าจาก sh_id มาจัดกลุ่ม แล้วค่อยนับค่าจัดส่งจะดีไหมครับ
สมมุติ

array(
f_id  => 10,
f_name => ผัดไทย,
sh_id  => 15
)
array(
f_id  => 11,
f_name => ข้าวผัด,
sh_id  => 15
)

array(
f_id  => 12,
f_name => ข้าวแกง,
sh_id  => 16
)

ตัวอย่างด้านบนคือซื้อ 2 ร้านครับ คือ sh_id 15 , 16
ให้ php นับเป็น 2 ร้านแบบนี้หน่ะครับ
พอเราได้จำนวนแล้วก็จะสามารถ ใช้ if คิดค่าจัดส่งได้เลยครับ

โดยไม่ต้องนำว่าจะสั่งกี่รายการมาคิด เราสนใจแค่จำนวนร้านครับ




บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์