|
|
|
ทำ autocomplete โดยจะต้องมีการค้นหาข้อมูลในตารางจาก 4 field จะทำอย่างไรค่ะ |
|
|
|
|
|
|
|
ตอนนี้ทำการค้นหาได้จาก ฟิว เดียว ว
Code (PHP)
<? @ob_start(); ?>
<? @session_start();
$DonorID = $_POST['DonorID'];
if (!isset($_SESSION['login_admin'])) {
header("Location:../Home.php");
exit();
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<html>
<head>
<title>ผู้บริจาคโลหิต</title>
<LINK REL="SHORTCUT ICON" href="../img/Blood.gif">
<link rel="stylesheet" type="text/css" href="css/Strucadmin.css">
<script type="text/javascript" src="js/autocomplete.js"></script>
<link rel="stylesheet" type="text/css" href="css/autocomplete.css"/>
</head>
<body class="thrColFixHdr">
<div id="container">
<div id="header"></div>
<h id="menu"><? include "menuadmin.php"; ?></h>
<div id ="LA"><? include "Loginadmin.php"; ?></div>
<div id="mainContent">
<form name="frmex" method="POST" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<br>
<a href="admin_Adddonor.php"> >>เพิ่มผู้บริจาค</a>
<table border="1" width="100%" align="center">
<tr>
<th>ค้นหา:
<select name="ddlselect" id="ddlselect">
<option selected>- เลือกประเภทการค้นหา -</option>
<option value="DonorID" <? if($_GET["ddlselect"]=="DonorID"){echo"selected";}?>>เลขประจำตัวผู้บริจาค</option>
<option value="Name" <? if($_GET["ddlselect"]=="Name"){echo"selected";}?>>ชื่อ</option>
<option value="CitizenID" <? if($_GET["ddlselect"]=="CitizenID"){echo"selected";}?>>เลขประจำตัวประชาชน</option>
</select>
ระบุสิ่งที่ต้องการค้นหา :
<input name="topic" type="text" id="topic" size="50" />
<input name="h_arti_id" type="hidden" id="h_arti_id" value="" />
<input type="submit" name="Search" id="Search" value="ค้นหา"></th>
</th>
</tr>
</table>
</form>
<? if($_REQUEST['topic'] != "") {
include ("../Connections/config.inc.php");
$del = $_REQUEST['ddlselect'];
$strSQL = "SELECT * FROM donor WHERE 1";
if($_REQUEST["ddlselect"] != "" and $_REQUEST["topic"] != ''){
$strSQL .= " AND (".$_REQUEST["ddlselect"]." LIKE '%".$_REQUEST["topic"]."%' ) ";
}
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 3; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"]){
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page){
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0){
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by DonorID LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<table align="center" border="0" cellpadding="1" cellspacing="1">
<tr bgcolor="#880000">
<th width="120" align="center" bgcolor="#BBBBBB">เลขประจำตัวผู้บริจาค</th>
<th width="120" align="center" bgcolor="#BBBBBB">ชื่อ</th>
<th width="120" align="center" bgcolor="#BBBBBB">นามสกุล</th>
<th width="150" align="center" bgcolor="#BBBBBB">เลขประจำตัวประชาชน</th>
<th width="70" align="center" bgcolor="#BBBBBB">กรุ๊ปเลือด</th>
<th width="70" align="center" bgcolor="#BBBBBB" colspan="2">เลือก</th>
</tr>
<? while($row = mysql_fetch_array($objQuery)){ ?>
<tr>
<td align="center"><?=$row["DonorID"];?></td>
<td><?=$row["Name"];?></td>
<td><?=$row["Surename"];?></td>
<td><?=$row["CitizenID"];?></td>
<td align="center"><?=$row["BloodG"];?></td>
<td align="right">
<table width="70" align="right">
<tr>
<td width="35">
<form id="form1" name="form1" method="post" action="admin_EditDonor.php">
<input type="submit" name="edit" id="edit" value="แก้ไข้ข้อมูล" />
<!-- <input type="button" name="edit" id="edit" value="แก้ไข้ข้อมูล" OnClick="Edit();"/>-->
<input name="DonorID" type="hidden" id="DonorID" value="<?php echo $row['DonorID'] ; ?>">
</form>
</td>
<td width="35">
<form id="form2" name="form2" method="post" action="admin_DelDonor.php">
<input type="button" name="delete" id="delete" value="ลบสมาชิก" OnClick="Delete();"/>
<input name="DonorID" type="hidden" id="DonorID" value="<?php echo $row['DonorID'] ; ?>">
</form>
</td>
</tr>
</table></td>
</tr>
<? } ?>
</table>
</form>
<br>
ผลลัพธ์ที่ได้ : <?= $Num_Rows;?> แถว : <?=$Num_Pages;?> หน้า : <? //ถถูฏ?>
<?
if($Prev_Page){
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&Search=$_REQUEST[Search]&topic=$_REQUEST[topic]'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page){
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&Search=$_REQUEST[Search]&topic=$_REQUEST[topic]'>$i</a> ]";
}
else{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages){
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&Search=$_REQUEST[Search]&topic=$_REQUEST[topic]>Next>></a> ";
}
}
@mysql_close;
?>
<script type="text/javascript">
function make_autocom(autoObj,showObj,url){
var mkAutoObj=autoObj;
var mkSerValObj=showObj;
new Autocomplete(mkAutoObj, function() {
this.setValue = function(id) {
document.getElementById(mkSerValObj).value = id;
}
if ( this.isModified )
this.setValue("");
if ( this.value.length < 1 && this.isNotClick )
return ;
return url+"?q=" +encodeURIComponent(this.value);
});
}
// การใช้งาน
// make_autocom(" id ของ input ตัวที่ต้องการกำหนด "," id ของ input ตัวที่ต้องการรับค่า");
make_autocom("topic","h_arti_id","css/gdata.php");สร้างมา 3 ไฟลืแล้ว ก้อยังไม่หาให้อยู่ดี
make_autocom("topic2","h_arti2_id","css/gdata2.php");
make_autocom("topic3","h_arti3_id","css/gdata3.php");
</script>
</div>
<br class="clearfloat" />
<div id="footer">
<p>Footer<br/><br /></p>
</div>
</div>
</body>
</html>
</body>
</html>
Code (PHP)
<? @ob_start();?>
<?
include "../../Connections/config.inc.php";
//header("Content-type: application/x-javascript; charset=UTF-8");
//header("Content-type:text/html; charset=UTF-8");
//header("Cache-Control: no-store, no-cache, must-revalidate");
//header("Cache-Control: post-check=0, pre-check=0", false);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?
$q = urldecode($_GET["q"])."";
$pagesize = 5; // จำนวนรายการที่ต้องการแสดง
$table_db="donor"; // ตารางที่ต้องการค้นหา
$find_field="DonorID"; // ฟิลที่ต้องการค้นหา
$sql = "select * from $table_db where locate(replace('$q',' ',''), $find_field) > 0 order by locate('$q', $find_field), $find_field limit $pagesize";
$results = mysql_query($sql);
while ($row = mysql_fetch_array( $results )) {
$id = $row["DonorID"]; // ฟิลที่ต้องการส่งค่ากลับ
$name = $row["DonorID"]; // ฟิลที่ต้องการแสดงค่า
// ป้องกันเครื่องหมาย '
$name = str_replace("'", "'", $name);
// กำหนดตัวหนาให้กับคำที่มีการพิมพ์
$display_name = preg_replace("/(" . $q . ")/i", "<b>$1</b>", $name);
echo "<li onselect=\"this.setText('$name').setValue('$id');\">$display_name</li>";
}
mysql_close();
?>
</body>
</html>
Tag : PHP
|
ประวัติการแก้ไข 2012-09-13 02:36:53
|
|
|
|
|
Date :
2012-09-13 02:36:15 |
By :
taengii |
View :
1574 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กรณีหลายฟิวด์ก็ใช้การ OR เอาครับ
|
|
|
|
|
Date :
2012-09-13 09:33:52 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วจะค้นหาโดยใช้ภาษาไทยได้เลยช่ายไหมค่ะ
|
|
|
|
|
Date :
2012-09-13 15:13:10 |
By :
taengii |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ป็ฯไงบ้างคับ ได้ยัง
|
|
|
|
|
Date :
2012-09-13 16:37:34 |
By :
lin2online |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แค่ ฟิวเดียว ค่ะ ไม่รู้จะแก้ยังไงแล้ว ว
ช่วยหน่อยน๊ะค่ะ ^^
|
|
|
|
|
Date :
2012-09-13 23:24:59 |
By :
taengii |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็น Field <input name="" type="text"> มีตัวอย่าง 2 ช่องนะครับ
แต่ถ้าเป็น Field : dropdown + text ผมยังไม่เคยเห็นนะครับ ใครทำได้เยี่ยมเลย
http://forum.jquery.com/topic/multiple-parameters-using-jquery-ui-for-autocomplete
http://helpdesk.toitl.com/?w=autocomplete_with_parameter
|
|
|
|
|
Date :
2012-09-14 08:20:41 |
By :
nattkhanesha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|