ช่วตอบหน่อยครับ เกี่ยวกับการค้นหาข้อมูลครับ (php)
ใช้การ join table ครับและในส่วนของ where ก้ใช้ OR ช่วยในการค้นหาของแต่ละ field ครับ เช่น
"select*from table1 t1 inner join table2 t2 on(t1.field_id = t2.field_id) where field_name like '%".$keyword."%' or field_description like '" . $keyword . "'"
หรือ select แล้วไม่ต้อง join กันก้ได้ครับแต่จะทำให้ query ช้าครับ เช่น
"select*from table1,table2 where field_name like '%".$keyword."%' or field_description like '" . $keyword . "'"
Date :
14 Sep 2547 14:02:34
By :
onizuka
ทำไม '%".$keyword."%' คำว่า $keyword ต้องมีจุดอยู่ข้างหน้าข้างหลังด้วย เพื่ออะไร? จำเป็นต้องใส่หรือเปล่า?
Date :
14 Sep 2547 16:07:50
By :
priows
ตัวอย่าง "select*from table1,table2 where field_name like '%onizuka%' or field_description like '%onizuka%'"
จากตัวอย่าง เราต้องการหาคำว่า onizuka ใน field_name หรือ ใน field_description นี้คือคำสั่ง mysql นะครับ
พอเรามาเขียน โปรแกรม เรารับค่าที่ input เข้ามา เก็บไว้ในตัวแปรที่ชื่อ $keyword เราก้แทน ตัวแปรเข้าไปจะได้ดังนี้
"select*from table1,table2 where field_name like '%" . $keyword . "%' or field_description like '%" . $keyword . "%' "
เครื่องหมาย . จุด เป็นการเชื่อมต่อ string หนะครับ ในที่นี้ เราเชื่อมต่อ string กับตัวแปร อะครับ
เข้าใจไม๊เอ่ย
Date :
14 Sep 2547 18:05:29
By :
onizuka
Date :
16 Sep 2547 16:03:38
By :
mvataru
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="599" border="1">
<tr>
<th>Keyword
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?
if($_GET["txtKeyword"] != "")
{
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
// Search By Name or Email
$strSQL = "SELECT * FROM customer WHERE (Name LIKE '%".$_GET["txtKeyword"]."%' or Email LIKE '%".$_GET["txtKeyword"]."%' )";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["CustomerID"];?></div></td>
<td><?=$objResult["Name"];?></td>
<td><?=$objResult["Email"];?></td>
<td><div align="center"><?=$objResult["CountryCode"];?></div></td>
<td align="right"><?=$objResult["Budget"];?></td>
<td align="right"><?=$objResult["Used"];?></td>
</tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
}
?>
</body>
</html>
Date :
2009-09-19 22:21:56
By :
webmaster
Load balance : Server 02