RSS

การทำระบบค้นหาข้อมูล

Sun, Aug 17, 2008

PHP

การทำระบบค้นหาข้อมูล

สวัสดีครับ เมื่อวานเว็บของเราเข้าใช้งานกันไม่ค่อยได้ เนื่องจากเพิ่งจะอัพเกรดระบบของ Server กัน  ทำให้การเข้าใช้งานติดขัดกันไปบ้าง แต่คงจะเข้าที่ได้ประมาณ 1-2 วันนี้แหละครับ
เอาเป็นว่าเรามาเข้าเรื่องบทความที่ผมนำมาเสนอในวันนี้กันดีกว่าครับ บทความนี้เกี่ยวกับการทำระบบค้นหาข้อมูล สามารถค้นหาข้อมูลในฐานข้อมูล ตารางนั้นๆได้ทุกๆฟิลด์  แล้วก็มีแค่เพียงไฟล์เดียวเองด้วยครับ

สำหรับคำสั่ง SQL เรื่องการ Search ผมได้เคยกล่าวไปแล้วในบทความที่ผ่านมา มาเริ่มกันเลยครับ ให้คุณดาวน์โหลดไฟล์โปรแกรมประกอบบทความนี้ได้ที่ <<Search.zip>>

เมื่อดาวน์โหลดไฟล์มาแล้วให้ทำการแตกไฟล์ออก จะได้ไฟล์ search.php 1 ไฟล์ และ ไฟล์ search.sql อีก 1 ไฟล์
search.php คือไฟล์โปรแกรมและคำอธิบายที่ผมได้เขียนกำกับเอาไว้แล้วในโค้ดนี้ครับ
ส่วน search.sql เป็นไฟล์สำหรับสร้าง ตารางในฐานข้อมูลข้อมูล
ตัวอย่างนี้ผมเลือกเอา Case เว็บไดเร็คทรอรี่มาทำเป็นตัวอย่าง Search ให้ดู โดยที่ผมได้ Insert ข้อมูลเบื้องต้นไปให้แล้ว 2 record ครับ
วิธีการทำ ให้เข้า phpmyadmin ไปสร้างฐานข้อมูลก่อน โดยผมใช้ชื่อว่า Search

เมื่อกดปุ่ม “สร้าง” ก็จะเข้ามาหน้านี้ เอาไว้สำหรับสร้างตารางใหม่ ขั้นตอนนี้ ให้เราเลือกที่เมนู SQL เพื่อไปเลือกไฟล์ search.sql ที่คุณได้ดาวน์โหลดมา(ในไฟล์นี้มีคำสั่ง SQL ที่ใช้ในการสร้างตารางสำเร็จรูปเอาไว้ให้แล้ว) เพื่อที่จะทำการสร้างตารางใหม่

เลือกไฟล์ search.sql ที่ดาวน์โหลดมา เพื่อ Import เข้าระบบมาสร้างตารางใหม่ เสร็จแล้ว กดปุ่มลงมือ


โปรแกรม phpmyadmin จะรายงานว่าได้ทำการสร้างตาราง Website และได้ทำการ Insert ข้อมูลเข้าไปด้วย 2 เรคคอร์ด

จะเห็นว่าตาราง website ได้ถูกทำการสร้างเรียบร้อยแล้วครับ

โครงสร้างของตาราง Website ตารางนี้จะเก็บข้อมูล เว็บไซต์ที่มีอยู่ในระบบ โดยให้ ID คือ Primary key และเป็น Auto increment ด้วย ดังรูปโครงสร้างข้างล่างนี้

โครงสร้างของตาราง Website

หลังจากนั้นให้เรามารันโปรแกรม โดยเอาไฟล์ Search.php ไปวางในไดเร็คทรอรี่ที่รัน PHP ได้ แล้วทำการแก้ไขค่า Config ของการติดต่อฐานข้อมูลในไฟล์ ตรงส่วนที่ติดต่อกับ Database Server ดังรูปโค้ดข้างล่างนี้

ให้คุณเปิดเว็บบราวเซอร์รัน ที่ address ดังนี้ http://localhost/search/search.php ผลลัพธ้การรันโปรแกรมดังรูปข้างล่างนี้  จะมีฟอร์มค้นหาข้อมูล เราลองมาใส่คำค้นหากันดู  ผมลองคำว่า “PHP”  แล้วคลิ๊กปุ่ม “ค้นหา”

จะปรากฏรายชื่อเว็บไซต์ที่มีข้อมูลเกี่ยวกับ PHP ขึ้นมาโชว์บอกรายละเอียดต่างๆ รวมถึงลิงค์ที่จะไปเว็บไซต์นั้นๆ

ที่นี้มาลองใส่คำอื่นๆ มั่วๆที่คิดว่ามันไม่มีอยู่ในระบบกันมั่ง อย่างที่ผมลองใส่ดู ดังรูปข้างล่างนี้ เมื่อค้นดูแล้ว จะรายงานว่าค้นพบ 0 เรคคอร์ด  คือไม่เจออยู่ในฐานข้อมูลเลย

ง่ายมั้ยครับไฟล์เดียวเอง รายละเอียดคำอธิบายอยู่ข้างในไฟล์แล้วนะครับ  โดยฟอร์ม Search ผมทำเป็นฟังก์ชั่นโชว์ฟอร์มเอาไว้  เวลาเรียกใช้งานจะได้สะดวกขึ้น

สำหรับการ Search แบบนี้จะทำการ Search จากตารางที่เรากำหนดไว้ หาจากทุกฟิลด์ที่มีอยู่ในตารางนั้นๆเลย

คำสั่ง SQL ที่ใช้ค้นหาข้อมูลในตาราง แบบค้นหาใน “ทุกๆฟิลด์” ในตารางนั้นๆ คือ select * from $tblname where (ฟิลด์ที่ 1 like ‘%$search%’)or(ฟิลด์ที่2 like ‘%$search%’)or(ฟิลด์ที่ 3 like ‘%$search%’)

สำหรับคำสั่ง SQL ที่ค้นหา “เฉพาะฟิลด์” ในตารางนั้นๆ คือ select * from $tblname where ฟิลด์ที่ต้องการค้น like ‘%$search%

โดยที่  $tblname คือชื่อตารางที่ทำการค้นหา
$search คือ คำหรือ keyword ที่รับค่าจากฟอร์มเพื่อมาทำการค้นหาข้อมูลในฟิลด์นั้นๆ

เอาละครับวันนี้เขียนแค่นี้ก่อน ลองเอาไปปรับเปลี่ยนประยุกต์เข้ากับระบบต่างๆดูนะครับ คำอธิบายโค้ดโปรแกรมได้เขียนกำกับเอาไว้ให้ในไฟล์แล้ว  พบกันใหม่ในบทความวันพรุ่งนี้ครับ  วันนี้ขอตัวไปพักผ่อนก่อนครับ ล้ามากเลยครับ  งานเยอะไปหน่อย  ขอบคุณทุกท่านที่ติดตามอ่านกันทุกๆวัน สวัสดีครับ  บาย….

, , , , , , , , , , , , , , , ,

1 Comments For This Post

  1. watchara Says:

    ไม่สามารถแสดงผลการค้นหาเป็นภาษาไทยได้ จะต้องแก้ไขตรงไหนครับ

Leave a Reply

You must be logged in to post a comment.