|
|
|
รบกวนหน่อยนะครับ เรื่องการค้นหาแบบเลือกเงื่อนไขจาก List/Menu อะครับ ขอบคุณครับ |
|
|
|
|
|
|
|
Code (PHP)
var pmeters = "mySearch=" + Search +
"&myPage=" + Page;
แก้ไขการส่งค่าตัวแปรเพิ่มเข้าไปครับ
และก็
Code (PHP)
$strSQL = "SELECT * FROM customer WHERE Name LIKE '%".$strSearch."%' ";
|
|
|
|
|
Date :
2010-09-24 09:32:31 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนยังไงอะครับ ผมเขียน
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax(Tag,Search,Page) {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'save_serach.php';
var pmeters = 'myTag=' + Tag + '&mySearch=' + Search;
var pmeters = "myTag=" + Tag + "&mySearch=" + Search + "&myPage=" + Page;
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "กำลังค้นหา...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
</script>
ตรง body
<body Onload="JavaScript:doCallAjax('','','');">
ส่วนปุ่มกดค้นหา
ค้นหาจาก ::
<select name="Tag" id="Tag" style="width:100px; ">
<option value="Title">-- ชื่อเรื่อง --</option>
<option value="Subject">-- หัวเรื่อง --</option>
<option value="CallNumber">-- เลขเรียก --</option>
<option value="Author1">-- ผู้แต่ง --</option>
<option value="ISBN">-- ISBN --</option>
</select>
ข้อความที่ค้นหา
<input type="text" name="txtSearch" id="txtSearch">
<input type="button" name="btnSearch" id="btnSearch" value="ค้นหา" OnClick="JavaScript:doCallAjax(document.getElementById('Tag').value,('txtSearch').value,'1');">
ส่วนไฟล์ save_serach.php
<?php
if($_POST['myTag'] and $_POST['mySearch']){
$Tag = $_POST["myTag"];
$strSearch = $_POST["mySearch"];
$strPage = $_POST["myPage"];
$strSQL = "SELECT distinct Title,Author1,YearOfPrint,Call_author,Typebook FROM biblio WHERE $Tag LIKE '%".$strSearch."%' ";
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; // Per Page
$Page = $strPage;
if(!$strPage)
{
$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 Number ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
ไม่ทราบว่าเขียนถูกปะครับ (ลองแล้วไม่ได้อะครับ)
ขอบคุณครับ
|
|
|
|
|
Date :
2010-09-24 10:22:57 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะถูกแล้วน่ะครับ ของ debug ค่าด้วยการ
echo $strSQL;ว่า Query มันตรงกับที่เราต้องการหรือไม่
|
|
|
|
|
Date :
2010-09-24 10:28:33 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลอง
<? echo $Tag;?>
<? echo $strSearch;?>
ในไฟล์ save_serach.php
ค่าที่ได้คือ
Title
undefined
ค่าที่ได้ undefined มันคืออะไรอะครับ มันน่าจะออกมาเป็นข้อความที่เรากรอกไปใช่ปะครับ
ผลที่ออกมา มันไม่แสดงอะไรออกเลอะครับ
|
|
|
|
|
Date :
2010-09-24 10:33:51 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง debug ทีล่ะ step ครับ ถ้า javascript ใช้ alert ดูค่า ถ้า php ใช้ echo ครับ
|
|
|
|
|
Date :
2010-09-24 10:46:53 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้อะครับ รบกวนหาตัวอย่างให้หน่อยอะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2010-09-24 13:53:41 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ละครับ ขอบคุณสำหรับคำตอบที่ดีๆๆ และคุณ mr.win ด้วยนะครับ
ติดตรงนี้เองครับ
<input type="button" name="btnSearch" id="btnSearch" value="ค้นหา" OnClick="JavaScript:doCallAjax(document.getElementById('Tag').value,('txtSearch').value,'1');">
มันต้อง
<input type="button" name="btnSearch" id="btnSearch" value="ค้นหา" OnClick="JavaScript:doCallAjax(document.getElementById('Tag').value,(document.getElementById('txtSearch').value,'1');">
เพิ่มเข้าไปเองครับ
|
|
|
|
|
Date :
2010-09-24 14:40:25 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|