|  | 
	                
  
    | 
	 
        รบกวนสอบถาม เรื่องการค้นข้อมูลด้วย 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 :
                          2109 | 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 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |