การค้นหาข้อมูลในฐานข้อมูล ตามชื่อฟิลด์ Code PHP Search In Mysql Database By Fields
การค้นหาข้อมูลในฐานข้อมูล ตามรายชื่อฟิลด์ที่ต้องการนั้น หลาย ๆ คนคงจะเคยพบเจอกันมาบ้างแล้ว
ซึ่งผู้ใช้งานจะสามารถค้นหาและใช้งานได้สะดวก รวดเร็ว และถูกต้องตรงตามความต้องการมากกว่าการไม่ระบุฟิล์
ที่จะค้นหา อาจจะไม่ใช่เทคนิค "ขั้นเทพ" อะไร แต่คนธรรมดาอย่างเรา ๆ ก็ใช้ได้ ไม่มีปัญหา
ตัวอย่างนี้จะเป็นการค้นหาข้อมูลนักเรียน จะมีค้นหาตามรหัสนักศึกษา ตามชื่อ ตามนามสกุล และตามกลุ่มเรียน

โค้ดในส่วนของฟอร์มค้นหา
<form name="form1" method="post" action="student.php?show=OK&strSearch=Y">
<table width="100%" >
<tr>
<td width="36%">
<div align="right">ค้นหา :
<select name="Search2">
<option value="Student_ID" <? if($Search2=="Student_ID"){ ?>selected<? }?>>รหัสนักศึกษา</option>
<option value="FirstName" <? if($Search2=="FirstName"){ ?>selected<? }?>>ชื่อ</option>
<option value="LastName" <? if($Search2=="LastName"){ ?>selected<? }?>>นามสกุล</option>
<option value="Group_Study" <? if($Search2=="Group_Study"){ ?>selected<? }?>>กลุ่มเรียน</option>
</select></div>
</td>
<td width="64%">
<input name="Search" type="text" size="20" value="<? echo $Search?>">
<input type="submit" name="submit" value="Search"> ตามรหัสนักศึกษา,ชื่อ, นามสกุล, กลุ่มเรียน
</td>
</tr>
</table>
</form>
$Search = ตัวแปรที่ใช้เก็บข้อความที่เราค้นหาครับ เมื่อส่งค่าไปค้นหาแล้วก็จะนำค่าตัวแปรนี้ไปแสดงไว้ในช่องค้นหาตามโค้ดนี้ <input name="Search" type="text" size="20" value="<? echo $Search?>"> เพื่อให้ผู้ใช้ได้รู้ว่าเขาค้นหาอะไร
$Search2 = เป็นตัวแปรที่ใช้เก็บชื่อฟิล์ดที่เราค้นหา เมื่อส่งค่าไปค้นหาก็จะนำตัวแปรนี้ไปตรวจสอบ ตามโค้ดนี้
<option value="Student_ID" <? if($Search2=="Student_ID"){ ?>selected<? }?>>รหัสนักศึกษา</option>
<option value="FirstName" <? if($Search2=="FirstName"){ ?>selected<? }?>>ชื่อ</option>
<option value="LastName" <? if($Search2=="LastName"){ ?>selected<? }?>>นามสกุล</option>
<option value="Group_Study" <? if($Search2=="Group_Study"){ ?>selected<? }?>>กลุ่มเรียน</option>
เพื่อให้ผู้ใช้ได้รู้ว่าเขาได้เลือกค้นหาตามเงื่อนไขได เช่น ถ้าผู้ใช้เลือกค้นหาตาม ชื่อ เมื่อค้นหาเสร็จระบบก็จะตรวจเช็ค
และทำการโฟกัส หรือ Selected ไว้ที่ ชื่อ
* * * ถ้าไม่ส่งค่าตัวแปรทั้ง 2 ตัวนี้ ผู้ใช้ก็จะไม่ทราบว่าตัวเองได้ค้นหาอะไร ตามเงื่อนไขอะไร
<form name="form1" method="post" action="student.php?show=OK&strSearch=Y">
<table width="100%" >
<tr>
<td width="36%">
<div align="right">ค้นหา :
<select name="Search2">
<option value="Student_ID" <? if($Search2=="Student_ID"){ ?>selected<? }?>>รหัสนักศึกษา</option>
<option value="FirstName" <? if($Search2=="FirstName"){ ?>selected<? }?>>ชื่อ</option>
<option value="LastName" <? if($Search2=="LastName"){ ?>selected<? }?>>นามสกุล</option>
<option value="Group_Study" <? if($Search2=="Group_Study"){ ?>selected<? }?>>กลุ่มเรียน</option>
</select></div>
</td>
<td width="64%">
<input name="Search" type="text" size="20" value="<? echo $Search?>">
<input type="submit" name="submit" value="Search"> ตามรหัสนักศึกษา,ชื่อ, นามสกุล, กลุ่มเรียน
</td>
</tr>
</table>
</form>
$Search = ตัวแปรที่ใช้เก็บข้อความที่เราค้นหาครับ เมื่อส่งค่าไปค้นหาแล้วก็จะนำค่าตัวแปรนี้ไปแสดงไว้ในช่องค้นหาตามโค้ดนี้ <input name="Search" type="text" size="20" value="<? echo $Search?>"> เพื่อให้ผู้ใช้ได้รู้ว่าเขาค้นหาอะไร
$Search2 = เป็นตัวแปรที่ใช้เก็บชื่อฟิล์ดที่เราค้นหา เมื่อส่งค่าไปค้นหาก็จะนำตัวแปรนี้ไปตรวจสอบ ตามโค้ดนี้
<option value="Student_ID" <? if($Search2=="Student_ID"){ ?>selected<? }?>>รหัสนักศึกษา</option>
<option value="FirstName" <? if($Search2=="FirstName"){ ?>selected<? }?>>ชื่อ</option>
<option value="LastName" <? if($Search2=="LastName"){ ?>selected<? }?>>นามสกุล</option>
<option value="Group_Study" <? if($Search2=="Group_Study"){ ?>selected<? }?>>กลุ่มเรียน</option>
เพื่อให้ผู้ใช้ได้รู้ว่าเขาได้เลือกค้นหาตามเงื่อนไขได เช่น ถ้าผู้ใช้เลือกค้นหาตาม ชื่อ เมื่อค้นหาเสร็จระบบก็จะตรวจเช็ค
และทำการโฟกัส หรือ Selected ไว้ที่ ชื่อ
* * * ถ้าไม่ส่งค่าตัวแปรทั้ง 2 ตัวนี้ ผู้ใช้ก็จะไม่ทราบว่าตัวเองได้ค้นหาอะไร ตามเงื่อนไขอะไร
ไม่มีความคิดเห็น:
แสดงความคิดเห็น