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

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

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

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

กระทู้: 1,719



ดูรายละเอียด
« เมื่อ: 04 เมษายน 2020, 11:33:10 »

พอดีผมกำลังดัดแปลง script wordpress ตัวนึงครับ
มันจะมีหน้า booking ตามภาพ ทีนี้ผมต้องการเปลี่ยน ประเภทของการนัดหมาย จากเดิมที่ load จาก database มาเป็น ค่าที่กำหนดเองครับ

ผมเริ่มต้นจากการแก้ $apointment_types ที่ line 205 เป็นค่า array ที่กำหนดเอง คือ
$apointment_types = array("A", "B", "C");
ทีนี้ ตัว form มันก็เปลี่ยนแล้วครับ
แต่พอรับค่าจาก form มาเพื่อไปหน้าอื่นต่อ ค่ามันไม่ยอมไปด้วยครับ

ผมพยายามลองแก้ตัวแปรต่อเนื่องที่ต่อๆมาแล้วก็ยังไม่ได้ครับ
ไม่แน่ใจตรงฟังค์ชัน listingo_get_service_data ตรง line 341 ครับ ว่าต้องแก้อย่างไรครับ

ใครพอทราบบ้างครับ ว่าผมพลาดจุดไหนไปบ้างครับ
ตัว code นะครับ https://codeshare.io/298Lgg
            
« แก้ไขครั้งสุดท้าย: 04 เมษายน 2020, 11:34:19 โดย visavavit » บันทึกการเข้า

thanoo001
ก๊วนเสียว
*

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

กระทู้: 205



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 04 เมษายน 2020, 19:16:49 »

ที่ให้มามันคือโค้ดหน้าฟังชั่น ผมไม่รู้ว่าคุณไปเรียกฟังชั่นตัวนี้จากตรงใหนยังไง ถ้าไม่ไหวจริงๆแนะนำจ้างครับ การบันทึกลงฐานข้อมูลใช้ค่า Array ได้เลยยไม่จำเป้นใช้ | แล้วมาตัดทีหลัง
บันทึกการเข้า

visavavit
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,719



ดูรายละเอียด
« ตอบ #2 เมื่อ: 04 เมษายน 2020, 20:38:14 »

ที่ให้มามันคือโค้ดหน้าฟังชั่น ผมไม่รู้ว่าคุณไปเรียกฟังชั่นตัวนี้จากตรงใหนยังไง ถ้าไม่ไหวจริงๆแนะนำจ้างครับ การบันทึกลงฐานข้อมูลใช้ค่า Array ได้เลยยไม่จำเป้นใช้ | แล้วมาตัดทีหลัง

โค้ดหน้าฟังค์ชันนี้มันเป็นตัวแสดงผลในตัวด้วยเลยครับ
ตัวหน้านี้มันดึง array จากฐานข้อมูลมาแสดง แต่ผมพยายามจะเปลี่ยนให้มันใช้ array ที่ผมสร้างตัวแปรขึ้นมา
แต่งงว่า ตัวแปรนี้มันไปต่อไม่ได้ครับ มันส่งต่อหลายรอบในหน้า function นี้แหละครับ

เดี๋ยวขอลองแกะดูก่อนครับ ว่าไม่ไหวจะจ้างแล้วครับ
บันทึกการเข้า

thanoo001
ก๊วนเสียว
*

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

กระทู้: 205



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 04 เมษายน 2020, 21:25:09 »

ที่ให้มามันคือโค้ดหน้าฟังชั่น ผมไม่รู้ว่าคุณไปเรียกฟังชั่นตัวนี้จากตรงใหนยังไง ถ้าไม่ไหวจริงๆแนะนำจ้างครับ การบันทึกลงฐานข้อมูลใช้ค่า Array ได้เลยยไม่จำเป้นใช้ | แล้วมาตัดทีหลัง

โค้ดหน้าฟังค์ชันนี้มันเป็นตัวแสดงผลในตัวด้วยเลยครับ
ตัวหน้านี้มันดึง array จากฐานข้อมูลมาแสดง แต่ผมพยายามจะเปลี่ยนให้มันใช้ array ที่ผมสร้างตัวแปรขึ้นมา
แต่งงว่า ตัวแปรนี้มันไปต่อไม่ได้ครับ มันส่งต่อหลายรอบในหน้า function นี้แหละครับ

เดี๋ยวขอลองแกะดูก่อนครับ ว่าไม่ไหวจะจ้างแล้วครับ

โค๊ด:
if( $field === 'price' ){
$default = 0;
} else {
$default = '';
}
ทราบมั้ยว่า 0, '', false คือค่าเดียวกัน จะส่งค่าเดียวกันกลับไปทำไมครับ
บันทึกการเข้า

thanoo001
ก๊วนเสียว
*

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

กระทู้: 205



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 04 เมษายน 2020, 21:41:25 »

ที่ให้มามันคือโค้ดหน้าฟังชั่น ผมไม่รู้ว่าคุณไปเรียกฟังชั่นตัวนี้จากตรงใหนยังไง ถ้าไม่ไหวจริงๆแนะนำจ้างครับ การบันทึกลงฐานข้อมูลใช้ค่า Array ได้เลยยไม่จำเป้นใช้ | แล้วมาตัดทีหลัง

โค้ดหน้าฟังค์ชันนี้มันเป็นตัวแสดงผลในตัวด้วยเลยครับ
ตัวหน้านี้มันดึง array จากฐานข้อมูลมาแสดง แต่ผมพยายามจะเปลี่ยนให้มันใช้ array ที่ผมสร้างตัวแปรขึ้นมา
แต่งงว่า ตัวแปรนี้มันไปต่อไม่ได้ครับ มันส่งต่อหลายรอบในหน้า function นี้แหละครับ

เดี๋ยวขอลองแกะดูก่อนครับ ว่าไม่ไหวจะจ้างแล้วครับ

โค๊ด:
if( $field === 'price' ){
$default = 0;
} else {
$default = '';
}
ทราบมั้ยว่า 0, '', false คือค่าเดียวกัน จะส่งค่าเดียวกันกลับไปทำไมครับ
การใช้ === ควรใช้กับตัวแปลบางชนิดเท่านั้น เพราะมันจะตรวจสอบประเภทของตัวแปลด้วย
เช่น
$a = 1;
$b = true;
if ($a == $b) bool(true) เป็นจริง เพราะ ค่า 1 คือ true ใน php;
if ($a === $b) bool(false) เป็นเป็นเท็จ เพราะรูปแบบตัวแปลเป็น $a เป็น int แต่ $b เป็น boolen
ดังนั้ถ้าต้องการตรวจสอบแค่ให้ตัวแปลค่าตรงกันใช้แค่ == พอแล้วครับยิ่งใช้กับ String แล้วไม่จำเป้นต้องใช้ === เลย
บันทึกการเข้า

koballthai
ก๊วนเสียว
*

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

กระทู้: 238



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 05 เมษายน 2020, 10:48:29 »

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

visavavit
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,719



ดูรายละเอียด
« ตอบ #6 เมื่อ: 05 เมษายน 2020, 14:50:13 »

-
« แก้ไขครั้งสุดท้าย: 18 ตุลาคม 2022, 00:59:37 โดย visavavit » บันทึกการเข้า

thanoo001
ก๊วนเสียว
*

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

กระทู้: 205



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 05 เมษายน 2020, 15:20:11 »

ที่ให้มามันคือโค้ดหน้าฟังชั่น ผมไม่รู้ว่าคุณไปเรียกฟังชั่นตัวนี้จากตรงใหนยังไง ถ้าไม่ไหวจริงๆแนะนำจ้างครับ การบันทึกลงฐานข้อมูลใช้ค่า Array ได้เลยยไม่จำเป้นใช้ | แล้วมาตัดทีหลัง

โค้ดหน้าฟังค์ชันนี้มันเป็นตัวแสดงผลในตัวด้วยเลยครับ
ตัวหน้านี้มันดึง array จากฐานข้อมูลมาแสดง แต่ผมพยายามจะเปลี่ยนให้มันใช้ array ที่ผมสร้างตัวแปรขึ้นมา
แต่งงว่า ตัวแปรนี้มันไปต่อไม่ได้ครับ มันส่งต่อหลายรอบในหน้า function นี้แหละครับ

เดี๋ยวขอลองแกะดูก่อนครับ ว่าไม่ไหวจะจ้างแล้วครับ

โค๊ด:
if( $field === 'price' ){
$default = 0;
} else {
$default = '';
}
ทราบมั้ยว่า 0, '', false คือค่าเดียวกัน จะส่งค่าเดียวกันกลับไปทำไมครับ
ขออนุญาตนะครับ ก่อนอื่นต้องบอกก่อนว่า ผมไม่ได้เขียน code ส่วนนี้ขึ้นมาเอง จึงไม่ทราบว่าจะส่งค่าเดียวกันไปทำไมครับ
ส่วนเรื่องการใช้ === ผมไม่แน่ใจว่าเกี่ยวกับการที่ code นี้ ใช้ดึง wp query ส่วน meta user รึเปล่า
อย่างที่บอกครับ ผมไม่ได้เขียน code ส่วนนี้ขึ้นมาเอง ก็ไม่เข้าใจจุดประสงค์ของผู้เขียน code หรอกครับ

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

อีกอย่างหนึ่งคือ ผมอยู่ในบอร์ดนี้มา 13 ปี หลังจากที่ผมตั้งกระทู้นี้ มีเพื่อนสมาชิกในบอร์ด หลังไมค์มาบอกวิธีแก้ให้ผมแล้ว
จะเห็นว่า ผมไม่ได้ตั้งกระทู้ถามคุณคนเดียว หรือหลังไมค์มาถามคุณคนเดียว หากคุณไม่ประสงค์ให้คำตอบหรือสาเหตุอะไรก็ตาม ปล่อยผ่านครับ

ด้วยความเคารพ
อย่างที่ผมบอกไป ตัวโค้ดที่คุณให้มามันมีแต่ฟังชั่น ผมไม่รู้ว่าตอนคุณเรียกคุณใส่ตัวแปลมายังไง และจุดประสงการเรียกใช้ฟังชั่นมันคืออะไร ดังนั้นการจะบอกว่าโค้ดมันรันผิดตรงใหนใครจะไปรู้หละครับ คำตอบผมก็ให้คุณไปแล้ว อย่างแรกคือค่าที่ส่งกลับฟังชั่น listingo_get_service_data มันคือตัวแปลเดียวคือ false (0 และ '') ผมก็เลยส่งสัยว่าจะส่งตัวแปลนั้นกลับไปทำไม เพราะปกติถ้าเราจะส่งกลับก็ต้องเป็นตัวแปลที่มันมีค่าที่ไม่ใช่ ค่าว่างเปล่า หรือให้ค่าที่เป็นจริง (true) เพื่อเอาไปตรวจสอบ ก่อนจะแก้อะไรไปแก้เงื่อนไข (if) ฟังชั่น listingo_get_service_data  ก่อนเลยเพราะดูแล้วมันแปลกๆ
แล้วก็เลิกใช้นิสัยคนแก่ เอาอายุมายุติเรื่องอะไรก็ไม่รู้ ที่ไม่ได้เกี่ยวกับอายุ หากรู้จักอ่านให้เข้าใจ จะรู้ว่าผมพยายามบอกวิธีแก้ไข ไม่ใช่ติเตียน
บันทึกการเข้า

visavavit
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,719



ดูรายละเอียด
« ตอบ #8 เมื่อ: 05 เมษายน 2020, 15:46:27 »

-
« แก้ไขครั้งสุดท้าย: 18 ตุลาคม 2022, 00:59:51 โดย visavavit » บันทึกการเข้า

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