欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP+JS实现的实时搜索提示功能

程序员文章站 2022-03-28 18:45:20
本文实例讲述了php+js实现的实时搜索提示功能。分享给大家供大家参考,具体如下: 效果图如下: 代码如下: html代码:(该代码用两种方法实现,一种jquer...

本文实例讲述了php+js实现的实时搜索提示功能。分享给大家供大家参考,具体如下:

效果图如下:

PHP+JS实现的实时搜索提示功能

代码如下:

html代码:(该代码用两种方法实现,一种jquery,一种原生js)

<html>
<head>
  <script src="/delphirequest/search/js/jquery.js"></script>
  <script>
/*用原生js实现
//    function showresult(str)
//    {
//      if (str.length==0)
//      {
//        document.getelementbyid("livesearch").innerhtml="";
//        document.getelementbyid("livesearch").style.border="0px";
//        return;
//      }
//      if (window.xmlhttprequest)
//      {// ie7+, firefox, chrome, opera, safari 浏览器执行
//        xmlhttp=new xmlhttprequest();
//      }
//      else
//      {// ie6, ie5 浏览器执行
//        xmlhttp=new activexobject("microsoft.xmlhttp");
//      }
//      xmlhttp.onreadystatechange=function()
//      {
//        if (xmlhttp.readystate==4 && xmlhttp.status==200)
//        {
//          document.getelementbyid("livesearch").innerhtml=xmlhttp.responsetext;
//          document.getelementbyid("livesearch").style.border="1px solid #a5acb2";
//        }
//      }
//      xmlhttp.open("get","livesearch.php?q="+str,true);
//      xmlhttp.send();
//    }
*/
//用jquery实现
     function showresult(str){
       $.ajax({
         type: "get",
         url : "livesearch.php",
         datatype : 'json',
         data: {'q':str} ,
         success :function (data) {
           document.getelementbyid("livesearch").innerhtml=data;
           document.getelementbyid("livesearch").style.border="1px solid #a5acb2";
         }
       })
     }
  </script>
</head>
<body>
<form>
  <input type="text" size="30" onkeyup="showresult(this.value)">
  <div id="livesearch"></div>
</form>
</body>
</html>

php代码如下:(php不仅可以考虑直接使用数组,也可以考虑直接查询数据库,获取数据库内容,本代码使用的是数组。)

<?php
$provinces=array("beijing","tianjin","shanghai","chongqing","hebei","henan","heilongjiang","jilin","changchun",
  "shandong","anhui","shanxi","guangzhou","yunnan","hainan","xizang","qinghai","fujian","guizhou","jiangsu",
  "zhejiang","guangzhou","yunan","hainan","xizang","neimenggu","sichuan","gansu","ningxia","xianggang","aomen");
$tmp=$_get['q'];
$val=array();
$k=0;
if (strlen($tmp)>0)
{
  for($i=0;$i<31;$i++){
    if(strpos($provinces[$i],$tmp)!==false){
       //传递值给val
       $val[$k]=$provinces[$i];
       //下标增加
       $k=$k+1;
    }
  }
  //遍历val数组
  for($j=0;$j<count($val);$j++)
  {
    echo $val[$j];
    echo "<br>";
  }
}
?>

更多关于php相关内容感兴趣的读者可查看本站专题:《php数据结构与算法教程》、《php程序设计算法总结》、《php+ajax技巧与应用小结》、《php网络编程技巧总结》、《php字符串(string)用法总结》、《php数组(array)操作技巧大全》及《php常用遍历算法与技巧总结

希望本文所述对大家php程序设计有所帮助。