首頁 >後端開發 >php教程 >php+ajax即時輸入自動搜尋匹配的方法

php+ajax即時輸入自動搜尋匹配的方法

墨辰丷
墨辰丷原創
2018-06-07 09:57:212655瀏覽

這篇文章主要介紹php ajax即時輸入自動搜尋配對的方法,有興趣的朋友參考下,希望對大家有幫助。

dropbox_index.php

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>主搜索引擎下拉框自动显示数据</title>
</head>
<script src="js/dropbox.js" type="text/javascript"></script>
<link href="css/dropbox.css" type="text/css" rel="stylesheet"/>
<body>
<form action="" method="post" enctype="multipart/form-data">
        <input name="txt" id="txt" class="txt" type="text" onkeyup ="showHint(this.value)" />    
        <input type="submit" class="btn" name="submit" value="Upload" /><br />
        <span id="txtHint" class="file-box"></span>
</form>
</body>
</html>

#dropbox.js    ajax     

var xmlHttp
    function showHint(str)
    {
      if (str.length==0)
      { 
       document.getElementById("txtHint").innerHTML=""
       return
      }
      xmlHttp=GetXmlHttpObject()
      if (xmlHttp==null)
       {
         alert ("Browser does not support HTTP Request")
         return
       } 
      var url="responsepage.php"
      url=url+"?q="+str
      url=url+"&sid="+Math.random()
      xmlHttp.onreadystatechange=stateChanged 
      xmlHttp.open("GET",url,true)
      xmlHttp.send(null)
    }      
    //设置回调函数
    function stateChanged() 
    { 
      if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
       { 
        document.getElementById("txtHint").innerHTML=xmlHttp.responseText 
       } 
    }
    function GetXmlHttpObject()
    {
      var xmlHttp=null;
      try
       {
         // Firefox, Opera 8.0+, Safari
         xmlHttp=new XMLHttpRequest();
      }
      catch (e)
      {
         // Internet Explorer
         try
         {
          xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch (e)
         {
          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
         }
       }
      return xmlHttp;
    }

opbox. #.txt{ height:22px; border:1px solid #cdcdcd; width:220px;border-right:none;}

.btn{ background-color:#FFF; border:1px solid #CDCDCD;height :26px; width:70px;}


responsepage.php

<?php
  //get the q parameter from URL  
  $q=$_GET["q"];
  //全部小写化
  $q=strtolower($q);
  //非空验证
  if(isset($q) && $q != &#39;&#39;)
  {
    $con = mysql_connect("localhost","root","lifu");
    if(!$con)
    {  
      die(&#39;Could not connect: &#39; .mysql_error());
    }
    mysql_select_db("my_db",$con);
    
    $sql = "select * from persons";
    //$sql="SELECT FirstName FROM Persons where Firstname like &#39;%$q%&#39;";
  
    $result =mysql_query($sql,$con);
    while($row = mysql_fetch_array($result))
     {
       //匹配判断
       if(stristr(strtolower($row[&#39;FirstName&#39;]),$q))
       {
         //echo "-----------------Persons-----------------";
         echo /* "firstname:" .*/ $row[&#39;FirstName&#39;] . "<br />";
         //echo "lastname:" . $row[&#39;LastName&#39;] . "<br />";
         //echo "age:" . $row[&#39;Age&#39;] . "<br />";
       }
       //echo $row[&#39;FirstName&#39;] . "<br />";
     }
    mysql_close($con);
   }
?>
資料庫:

總結

:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

相關推薦:

php中ZipArchive函數的功能

php 如何進行資料的序列化和反序列化

php如何取得作業系統類型

以上是php+ajax即時輸入自動搜尋匹配的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn