ตัวอย่างการค้นหาข้อมูล Mysql ด้วย PHP
แก้ไขข้อมูล บทนี้ ผมจะขอใช้ตัวอย่างไฟล์ที่สร้างไว้ในบทที่แล้วนะครับ หากท่านใดยังมีไฟล์ประกอบ คลิกที่นี่ เพื่อกลับไปบทเรียนที่แล้ว
เริ่มต้นโดยการสร้าง form ค้นหา ไว้ด้านบนของตารางแสดงข้อมูลที่ไฟล์ show.php ตามรูปภาพตัวอย่างที่ 1 form ค้นหา แล้วบันทึกไว้ที่ XXX:\AppServ\www\lesson9\search.php

รูปภาพที่ 1 form ค้นหา
<?
// เชื่่อมต่อฐานข้อมูล
$host="localhost"; // กำหนด host
$username="root"; // กำหนด username
$pass_word="nuiii"; // กำหนด Password
$db="test_create_database"; // กำหนดชื่อฐานข้อมูล
$Conn = mysql_connect( $host,$username,$pass_word) or die ("ติดต่อฐานข้อมูลไม่ได้");// ติดต่อฐานข้อมูล
mysql_query("SET NAMES utf8",$Conn); // set กำหนดมาตราฐาน
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); // เลือกฐานข้อมูล
//--->
?>
<form id="form1" name="form1" method="post" action="search.php">
ค้นหา <input name="txt_search" type="text" value="<?=$_POST['txt_search']?>" /> <input name="Search" type="submit" value="ค้นหา" />
</form>
<table width="600" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><div align="center">รหัส</div></td>
<td><div align="center">ชื่อ</div></td>
<td><div align="center">นามสกุล</div></td>
<td><div align="center">ที่อยู่</div></td>
<td><div align="center">โทรศัพท์</div></td>
<td><div align="center">แก้ไข</div></td>
</tr>
<?
$sql_show = "select * from customer";
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
<tr>
<td><?=$row_show['id']?></td>
<td><?=$row_show['name']?></td>
<td><?=$row_show['surname']?></td>
<td><?=$row_show['address']?></td>
<td><?=$row_show['phone']?></td>
<td><div align="center"><a href="edit.php?edit_id=<?=$row_show[id]?>">แก้ไข</a></div></td>
</tr>
<?
}
?>
</table>
จากนั้น สร้าง code ค้นหา ให้เพิ่มไปใน $sql ในกรณีที่มีการกดปุ่ม "ค้นหา" ตามตัวอย่างรูปภาพที่ 2 ค้นหา

รูปภาพที่ 2 ค้นหา
<?
// เชื่่อมต่อฐานข้อมูล
$host="localhost"; // กำหนด host
$username="root"; // กำหนด username
$pass_word="nuiii"; // กำหนด Password
$db="test_create_database"; // กำหนดชื่อฐานข้อมูล
$Conn = mysql_connect( $host,$username,$pass_word) or die ("ติดต่อฐานข้อมูลไม่ได้");// ติดต่อฐานข้อมูล
mysql_query("SET NAMES utf8",$Conn); // set กำหนดมาตราฐาน
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); // เลือกฐานข้อมูล
//--->
?>
<form id="form1" name="form1" method="post" action="search.php">
ค้นหา <input name="txt_search" type="text" value="<?=$_POST['txt_search']?>" /> <input name="Search" type="submit" value="ค้นหา" />
</form>
<table width="600" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><div align="center">รหัส</div></td>
<td><div align="center">ชื่อ</div></td>
<td><div align="center">นามสกุล</div></td>
<td><div align="center">ที่อยู่</div></td>
<td><div align="center">โทรศัพท์</div></td>
<td><div align="center">แก้ไข</div></td>
</tr>
<?
$sql_show = "select * from customer";
if($_POST['Search'])
{
$txt_search = $_POST['txt_search'];
$sql_show.=" where name like '%$txt_search%' or surname like '%$txt_search%' ";
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
<tr>
<td><?=$row_show['id']?></td>
<td><?=$row_show['name']?></td>
<td><?=$row_show['surname']?></td>
<td><?=$row_show['address']?></td>
<td><?=$row_show['phone']?></td>
<td><div align="center"><a href="edit.php?edit_id=<?=$row_show[id]?>">แก้ไข</a></div></td>
</tr>
<?
}
?>
</table>
ในส่วนที่เป็นสีแดง จะเป็นส่วนของการต่อคำ จากตัวแปร $sql_show นะครับ โดยจะทำการค้นหาข้อมูลจาก field ชื่อ(name) และ นามสกุล(surname) ครับ ซึ่งในตัวอย่าง where name like '%$name%' จะมีตัว % อยู่ นั้นหมายความว่า การค้นหา จะไม่สนใจคำที่อยู่ก่อนหน้า และ หลัง ของข้อมูลว่าจะเหมือนกันกับที่เราค้นหาหรือไม่นั้นเอง ยกตัวอย่าง เช่น
หากเรามีคนที่ชื่อ "จอนปีเตอร์" ในการณีที่เรา ใส่คำค้นหาด้วยคำว่า "ปี" เราก็จะเจอ "จอนปีเตอร์"เนื่องจากเราใส่เครื่องหมาย % ไว้ทั้งหน้าและหลังของการค้นหา แต่ถ้าหากเราไม่ใส่ % เราจะต้องกรอกคำว่า "จอนปีเตอร์" เปะๆ ถึงจะเจอครับ
วิธีติดตั้ง PHP+Mysql |
เริ่มต้นกับภาษา PHP |
การคำนวณค่าและแสดงผล |
การใช้เงื่อนไข if(){}else{} |
Loop while(){} for i |
การใช้ Array ใน PHP |
วิธีสร้างฐานข้อมูล Mysql |
phpMyAdmin เพิ่ม ลบ แก้ไข Mysql |
ส่งออก - นำเข้า ฐานข้อมูล Mysql ด้วย phpMyAdmin |
เชื่อมต่อฐานข้อมูล Mysql |
วิธีแสดงผลข้อมูล Mysql |
การเพิ่มข้อมูลลงในฐานข้อมูล Mysql ด้วย PHP |
วิธีลบข้อมูล Mysql ด้วย PHP |
วิธีแก้ไขข้อมูล Mysql ด้วย PHP |
ตัวอย่างการค้นหาข้อมูล Mysql ด้วย PHP |
บทความโดย : Admin 2009-07-01 15:38:49 (36603)
แหล่งที่มา :
Admin