ตัวอย่างการค้นหาข้อมูล 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%' จะมีตัว % อยู่ นั้นหมายความว่า การค้นหา จะไม่สนใจคำที่อยู่ก่อนหน้า และ หลัง ของข้อมูลว่าจะเหมือนกันกับที่เราค้นหาหรือไม่นั้นเอง ยกตัวอย่าง เช่น หากเรามีคนที่ชื่อ "จอนปีเตอร์" ในการณีที่เรา ใส่คำค้นหาด้วยคำว่า "ปี" เราก็จะเจอ "จอนปีเตอร์"เนื่องจากเราใส่เครื่องหมาย % ไว้ทั้งหน้าและหลังของการค้นหา แต่ถ้าหากเราไม่ใส่ % เราจะต้องกรอกคำว่า "จอนปีเตอร์" เปะๆ ถึงจะเจอครับ


Download(1455)lesson9.rar

วิธีติดตั้ง 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 (24966)
แหล่งที่มา : Admin

    ติดต่อสอบถามรายละเอียด
ชื่อ :
Email :
 
Secure Code :