|
|
|
รบกวนสอบถาม เรื่องการค้นข้อมูลด้วย Ajax แบบหลายเงื่อนไข |
|
|
|
|
|
|
|
พอดีว่าผมได้นำ code จากเว็บนี้ไปใช้ครับ ซึ่งเป็น code เกี่ยวกับการค้นหาข้อมูลด้วย ajax พอนำไปใช้ก็ ok ไม่มีปัญหาอะไร ถ้าในกรณีที่ค้นหาจากเงื่อนไขเดียว แต่คราวนี้ผมต้องกาจะค้นหาจากหลายเงื่อนไขครับ ผมจะต้องส่งค่าไปอย่างไงครับ แบบว่ามี input box หลายอัน และมีปุ่ม Search เพียงอันเดียวน่ะครับ code ตามด้านล่างครับ
Code (JavaScript)
var HttPRequest = false;
function doCallAjax(Search) {
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 = 'AjaxPHPSearchRecord1.php';
var pmeters = 'mySearch='+Search;
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 = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
<form name="frmMain">
Search <input type="text" name="txtSearch" id="txtSearch">
<input type="button" name="btnSearch" id="btnSearch" value="Search" OnClick="JavaScript:doCallAjax(document.getElementById('txtSearch').value);">
<br><br>
<span id="mySpan"></span>
</form>
Tag : PHP, Ms SQL Server 2005, Ms SQL Server 2008, Ajax
|
|
|
|
|
|
Date :
2011-03-29 14:54:06 |
By :
eak |
View :
1989 |
Reply :
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูฟอร์มของคุณหน่อยสิครับ
|
|
|
|
|
Date :
2011-03-29 15:10:02 |
By :
EvaNess |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ทราบว่าจะดู code ของ form หรือว่าหน้าตาของ form ครับ เลยส่ง code มาให้ดูครับ
<form name="frmMain">
Search <input type="text" name="txtSearch" id="txtSearch">
<input type="button" name="btnSearch" id="btnSearch" value="Search" OnClick="JavaScript:doCallAjax(document.getElementById('txtSearch').value);">
<br><br>
<span id="mySpan"></span>
</form>
|
|
|
|
|
Date :
2011-03-29 15:19:34 |
By :
eak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยผมหน่อยครับ ผมพยายามมาแล้วหลายวัน ยังทำไม่ได้เลยครับ
|
|
|
|
|
Date :
2011-03-29 17:42:15 |
By :
eak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (JavaScript)
var url = 'AjaxPHPInsertRecord2.php';
var pmeters = "tCustomerID=" + encodeURI( document.getElementById("txtCustomerID").value) +
"&tName=" + encodeURI( document.getElementById("txtName").value ) +
"&tEmail=" + encodeURI( document.getElementById("txtEmail").value ) +
"&tCountryCode=" + encodeURI( document.getElementById("txtCountryCode").value ) +
"&tBudget=" + encodeURI( document.getElementById("txtBudget").value ) +
"&tUsed=" + encodeURI( document.getElementById("txtUsed").value ) +
"&tMode=" + Mode;
อันนี้ตัวอย่างการส่ง parameter หลายตัวครับ ส่วนใน Search ก็ ใช้ Or หรือ and ก็แล้วแต่ครับ
|
|
|
|
|
Date :
2011-03-29 20:47:51 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณสำหรับคำแนะนำครับ คุณ mr.win ผมรบกวนถามต่อหน่อยครับ แล้วในส่วนของ form ผมจะต้องแก้ไขอย่างไงครับ ของเดิมจะเป็นแบบเงื่อนไขเดียว ตาม code ด้านล่างนี้ครับ ถ้าต้องการจะสร้างตัว input หลายตัว แต่มีปุ่ม Search แค่ปุ่มเดียวนะครับ
Code (PHP)
<form name="frmMain">
Search <input type="text" name="txtSearch" id="txtSearch">
<input type="button" name="btnSearch" id="btnSearch" value="Search" OnClick="JavaScript:doCallAjax(document.getElementById('txtSearch').value);">
<br><br>
<span id="mySpan"></span>
</form>
|
|
|
|
|
Date :
2011-03-30 10:14:31 |
By :
eak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในฟอร์มที่ท่านให้ดูผมเห็นแค่ input เดียวนะครับ - -'
|
|
|
|
|
Date :
2011-03-30 22:23:49 |
By :
EvaNess |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่ครับ เพราะผมไม่รู้จะเขียนให้มี input หลายตัวอย่างไงครับ เพราะตามตัวอย่างมันจะมี input ตัวเดียว และก็มีปุ่ม Search ที่เรียกใช้คำสั่ง onclick น่ะครับ ผมเลยไม่รู้ว่าถ้าเรามี input หลายตัวแล้ว ตรงคำสั่ง onclick จะต้องส่งค่าไปอย่างไงครับ เพราะสิ่งที่ผมต้องการ คือ มี input หลายตัว แต่มีปุ่ม Search แค่ปุ่มเดียวครับ
|
|
|
|
|
Date :
2011-03-31 09:06:08 |
By :
eak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองสร้าง Input ขึ้นมา 3 ตัวครับ ตาม code ด้านล่างนี้ครับ แต่ผมไม่รู้ว่าตรง คำสั่ง onclick ผมจะต้องส่งค่าไปอย่างไงครับ รบกวนหน่อยครับ
Code (PHP)
<form name="frmMain">
Search <input type="text" name="txtSearch" id="txtSearch"> <br>
<input type="text" name="tName" id="tName"> <br>
<input type="text" name="tSubject" id="tSubject"><br>
<input type="button" name="btnSearch" id="btnSearch" value="Search" OnClick="JavaScript:doCallAjax(document.getElementById('txtSearch').value);">
<br><br>
<span id="mySpan"></span>
</form>
|
|
|
|
|
Date :
2011-03-31 18:01:41 |
By :
eak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนพี่ๆ คือนี้ผมติดตรงนี้อะครับ จะให้มันมีเงื่อนไข ถ้าเลือก หนังสือเวลากด ก็ให้ค้นหนังสือ ถ้าเลือก ค้นรหัสหนังสือ ก็ให้แสดออกมาอะครับ
AjaxPHPSearchRecordPaging1.php
<!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" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jqeury.min.js"></script>
<script type="text/javascript">
function mySearch(value){
$.post("recordsearchajex.php"),{mySearch:value},function(data)
$("#results").html(data);
});
}
</script>
<title>ค้นหาหนังสือ</title>
<style type="text/css">
<!--
.style1 {color: #0000FF}
.style2 {color: #FF0000}
-->
</style>
</head>
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax(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 = 'AjaxPHPSearchRecordPaging2.php';
var pmeters = 'mySearch='+Search;
var pmeters = "mySearch=" + Search +
"&txtSearch=" + 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("txtSearch").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("txtSearch").innerHTML = HttPRequest.responseText;
}
}
}
</script>
<body Onload="JavaScript:doCallAjax('','');">
<h1 align="center" class="style1">ค้นหาหนังสือ</h1>
<form name="frmMain">
<div align="center">
<label>
<select name="select">
<option>รหัสหนังสือ</option>
<option>ชื่อหนังสือ</option>
</select>
</label>
<label>
<input name="txtSearch" type="text" id="txtSearch" size="50" />
</label>
<input name="btnSearch" type="button" class="style2" id="btnSearch" OnClick="JavaScript:doCallAjax(document.getElementById('txtSearch').value,'1');" value="Search" /></td>
<br>
<br>
<span id="mySpan"></span> </div>
</form>
<body>
</body>
</html>
ส่วนที่สองครับ
AjaxPHPSearchRecordPaging2.php
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<?php
include("connectdb.php");
$book_ID=$_POST['book_ID'];
$book_name=$_POST['book_name'];
$strSearch = $_POST["mySearch"];
$strSQL = "SELECT * FROM book WHERE book_ID LIKE '%$strSearch' OR book_name LIKE '$strSearch%' OR book_author1 LIKE '$strSearch%'
OR book_author2 LIKE '$strSearch%' OR book_author3 LIKE '$strSearch%' OR name_board1 LIKE '$strSearch%' OR name_board2 LIKE '$strSearch%'
OR name_board3 LIKE '$strSearch%' OR book_year LIKE '$strSearch%' ";//$strSQL = "SELECT * FROM book WHERE book_ID LIKE '%".$strSearch."%' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<style type="text/css">
<!--
.style1 {color: #0000FF}
.style2 {color: #000000}
-->
</style>
<table width="1157" border="1" background="../LibraryCit/photo/sasa.jpg">
<tr bgcolor="#66FF00">
<td width="153"><div align="center" class="style1">รหัสหนังสือ</div></td>
<td width="456"><div align="center" class="style1">ชื่อโปรเจค</div></td>
<td width="220"><div align="center" class="style1">ชื่อผู้แต่ง</div></td>
<td width="196"><div align="center" class="style1">คณะกรรมการ</div></td>
<td width="82"><div align="center" class="style1">ปี พ.ศ. </div></td>
</tr>
<tr>
<?
while($row=mysql_fetch_array($objQuery))
{?>
<td><div align="center"><?=$row["book_ID"];?></div></td>
<td><div align="center"><?=$row["book_name"];?><br/>
<?=$row["book_name2"];?></div></td>
<td><div align="center" class="style2">
<?=$row["book_author1"];?><br/>
<?=$row["book_author2"];?><br/>
<?=$row["book_author3"];?>
</div></td>
<td><div align="center"><span class="style2">
<?=$row["name_board1"];?><br/>
<?=$row["name_board2"];?><br/>
<?=$row["name_board3"];?>
</span></div></td>
<td><div align="center"><span class="style2">
<?=$row["book_year"];?>
</span></div></td>
</tr><? } ?>
</table>
<?
//mysql_close();
?>
มันรันไม่ออกด้วย รบกวนพี่ๆ ชี้แนะด้วยครับ
|
|
|
|
|
Date :
2012-12-19 20:47:56 |
By :
nirunnaluk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|