โปรแกรม PHP & MySQL#ตอน 1 Search -จากฐานข้อมูล
posted on 19 Jun 2008 16:53 by yuyazaa in Tips
เริ่มจากหน้าฟอร์มของ Search ก่อนก็แล้วกันนะคะ
บางทีเราอาจจะงงหรือว่าคำสั่งมันยากเกินไปก็เลยเอาแบบดิบสุดๆ มาให้แล้วกันค่ะ
( ถ้าอยากได้ดูดีก็แต่งเอาทีหลัง โดยการลากหมู่มวลทั้งแผงนี้ไปวางก็จบ...)
![]()
** ชื่อไฟล์ phpFrmtoSearch.php ถัดไปเป็นโค้ด PHP ที่เมื่อเขียนแล้วจะได้หน้าตาอย่างด้านบน
SAVE ด้วยชื่อ phpFrmtoSearch.php
แต่ดูตรง form action จะต้องใส่พาธของ phptoSearch.php
![]()
ตัวที่สอง : config.php อันนี้สำคัญมากเพราะเก็บทั้งชื่อเซิร์ฟเวอร์,ชื่อผู้ใช้,รหัสผ่าน,ฐานข้อมูลที่จะติดต่อ
ซึ่งจะต้องเรียกใช้ตลอดเวลา
** SAVE ด้วยชื่อ phpconfig.php
ตัวที่สาม : เป็นตัวที่ประมวลผลงานทั้งหมด ตั้งแต่รับข้อมูลจนถึงแสดงผล ถ้าอันนี้เจ๊งก็ซวยไป
เริ่มจากโค้ด PHP แล้วกันเพราะโค้ดสำคัญกว่า
*** อันนี้ SAVE ว่า phptosearch.php แล้วกันชื่อบ่งบอกถึงการทำงานดีค่ะ
![]()
*** ลืมบอกไปค่ะจากตัวอย่าง เป็นการค้นหาคณะหนังตะลุงโดยมีข้อมูลอยู่ในฐานข้อมูลที่ชื่อว่า
ceremorial และ ตารางชื่อว่าceremorial
เมื่อใส่ที่ต้องการสืบค้นลงไป จะไปเก็บที่ตัวแปร $wKeyword เพื่อทำการหาในฐานข้อมูล เมื่อถึง include ก็จะติดต่อ phpconfig.php เพื่อเอาข้อมูลเพื่อเข้าสู่ฐานข้อมูลของเรา ที่บรรทัดถัดมาจะเก็บข้อมูลนั้นไว้ใน $conn ( หรือประกาศตัวแปรในการ connect )
อีกอันนึงที่ทำให้พลาดบ่อย ก็ตรง $strSQL การสร้างเงื่อนไขค้นหา ตรงที่แทนด้วย * ใส่ชื่อฟิลด์ที่ต้องการโชว์ลงไป
จากตัวอย่างนะคะ เงื่อนไขนี้คือต้องการหาคำฟิลด์ที่ C_Name หรือ Add_Province ที่ตรงความต้องการแล้วแสดงออกมา
เลยออกมาเป็น ------ เงื่อนไข WHERE C_Name LIKE '%$wKeyword%' OR Add_Province LIKE '%$wKeyword%'" ;
เรียกง่ายๆ ว่าเขียนซ้ำมันเข้าไป เพราะการคอมพาวหรือพ่วงทีเดียวเกิดอาการ ERROR กันมาเยอะแล้ว ส่วนคำสั่งที่แยกเงื่อนไขออกมาเป็น
Example :
$strSQL="SELECT - - - - - - - - - -อะไรต่อมิอะไร
$strSQL .="WHERE - - - - - - - - - -เงื่อนไขอะไรต่อมิอะไร
/// เห็นความแตกต่างกันมั้ยคะ? ซึ่งในหนังสือหลายๆ เล่มอาจเขียนไว้
ซึ่งมันก็ทำให้เน่ามาหลายตลบแล้วเหมือนกัน
เพราะฉะนั้น ถ้าตามหนังสือแล้วไม่รอดก็ลองพลิกแพลงเอาแบบเดิมๆ มาใช้ดู
เพราะว่า องค์ประกอบทั้งของโปรแกรมที่หนังสือใช้และเครื่องของเรามันอาจจะคนเวอร์ชั่นหรือไม่ก็ไม่เหมือนกันเลย (เอาแน่เอานอนไม่ได้)
อ้อ...เกือบลืม โชว์อะไรที่หน้าจอเขียน echo ให้ครบในคะเพราะมันเป็น
ตัวแปรอาร์เรย์เวลามันมามันมาทั้งแผงเขียนไม่ครบมันก็ไม่มาทั้งแผงเหมือนกันค่ะ ลองสังเกตในโค้ด echo ตอนท้ายๆ นะคะ
เอาหละค่ะ ** ตอนนี้ก็มาดูผลของโปรแกรมง่ายๆ แต่ก็สุดงงอันนี้กันเลยค่ะ
( จากตัวอย่าง ค้นหาจากคำว่า "ก" ได้มา 3 รายการ แสดงผลแบบซื่อๆ ได้แบบนี้ค่ะ (^_^ ) )
![]()
*** ส่วนที่เหลืออยากให้เป็นรูปแบบไหนก็แล้วแต่ศรัทธากันเถอะค่ะ ตามสบาย.....
Ps. 1 สุดท้ายนะคะ ... สำหรับโปรแกรมนี้
อยากบอกว่า ... มีนาไม่ได้เก่ง ไม่ได้เซียน แต่เคยไม่รู้อะไรมาก่อนทั้งที่จะจบแล้วก็ก็ยังทำไม่เป็นทั้งที่เรียนเอกคอมฯ (มันจะเรียนเพื่อ?) แล้วต้องพยายามหาหนังสือมาอ่านเพื่อทำส่งอาจารย์โดยเฉพาะ มันลำบากมากค่ะ แต่ก็ผ่านมาได้ เฮ้อ~
แต่ว่า.. คนที่รู้อาจไม่สนใจ แต่บอกได้เลยว่าคนที่เป็นแบบที่มีนาเคยเป็นมีกันทุกมหาวิทยาลัยและมีทุกรุ่นด้วย บางคนก็ผ่านมาได้เพราะเพื่อน หรือองค์ประกอบอื่นๆ อีกมากมายซึ่งหลายๆ คนรู้กันเช่น จ้าง หรือพรีเซ้นต์เก่ง+มั่นใจ ( เอ๊า!!! ว่าจะไม่พูดถึงเรื่องนี้แล้วเชียว)
คนเรียนคอมฯ ที่ไม่เก่ง หรือถึงขั้นไม่ได้เรื่อง แต่ก็จบมาได้มีเยอะแยะ เพราะคนเก่งมันมีน้อยเหลือเกิน แต่คนที่พยายามด้วยตัวเองก็มีมากเหมือนกันค่ะ หวังว่า.... มีนาคงพอจะอธิบายให้เพื่อนๆ เข้าใจได้ง่ายๆ บ้างนะคะ
เพราะบางที...หมายถึงบางที ก็ฟังอาจารย์ไม่รู้เรื่อง ประมาณว่า " แมร่ง!! สอนอะไรกรูฟระเนี่ยไม่เห็นรู้เรื่อง" ทั้งที่จริงก็เพราะว่า " เมิงอ่ะไม่เคยรู้เรื่องมาก่อนอยู่แล้วตะหาก!!" ( อันนี้ขำๆ นะคะอย่าคิดมากเพราะในห้องเรียนบ่นก็เยอะ+ เพื่อนด่ากลับด้วยความรำคาญก็เยอะ นี่เรื่องจริงค่ะ )
Ps.2 อ้าว!! ไหนบอกจบ... เปล่าค่ะนิดนึ่ง ซวยแหล่ว!! ลืมเอาเว้นวรรคออก อ่ะ.. เช็คเอานะ
เด็กคอมฯ สู้ตายยยยยย~!!!!!!!!!! .......