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

 更新时间:2018年03月13日 10:31:08   作者:尘中客  
这篇文章主要介绍了PHP+JS实现的实时搜索提示功能,涉及php结合ajax实时传输数据与字符串的遍历、匹配相关操作技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • PHP下用rmdir实现删除目录的三种方法小结

    PHP下用rmdir实现删除目录的三种方法小结

    PHP本身有一个rmdir()函数可以用来删除目录,不过要求必须是空目录,本文列举了三种方法。1、递规法;2、系统调用法;3、循环法 。
    2008-04-04
  • fleaphp crud操作之findByField函数的使用方法

    fleaphp crud操作之findByField函数的使用方法

    fleaphp crud操作之findByField函数的用法分享,需要的朋友可以参考下。
    2011-04-04
  • PHP设计模式之适配器模式原理与用法分析

    PHP设计模式之适配器模式原理与用法分析

    这篇文章主要介绍了PHP设计模式之适配器模式,简单描述了适配器模式的概念、原理并结合实例形式分析了php类适配器模式与对象适配器模式的具体定义与使用方法,需要的朋友可以参考下
    2018-04-04
  • php检测url是否存在的方法

    php检测url是否存在的方法

    这篇文章主要介绍了php检测url是否存在的方法,涉及php中get_headers及正则匹配的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 浅谈PHP之ThinkPHP框架使用详解

    浅谈PHP之ThinkPHP框架使用详解

    这篇文章主要介绍了浅谈PHP之ThinkPHP框架使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • PHP面向对象程序设计组合模式与装饰模式详解

    PHP面向对象程序设计组合模式与装饰模式详解

    这篇文章主要介绍了PHP面向对象程序设计组合模式与装饰模式,结合实例形式详细分析了php组合模式与装饰模式的定义、功能、使用方法与相关注意事项,需要的朋友可以参考下
    2016-12-12
  • PHP数组游标实现对数组的各种操作详解

    PHP数组游标实现对数组的各种操作详解

    这篇文章主要介绍了PHP数组游标实现对数组的各种操作,结合实例形式较为详细的分析了PHP数组操作中current与next方法控制数组游标移动实现数组遍历的技巧,需要的朋友可以参考下
    2016-01-01
  • PHP的自定义模板引擎

    PHP的自定义模板引擎

    本文将详细介绍PHP中的模板引擎。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Laravel快速入门之composer介绍及安装详细图文步骤

    Laravel快速入门之composer介绍及安装详细图文步骤

    这篇文章主要介绍了Laravel快速入门之composer 介绍以及安装详细图文步骤,图文步骤讲解的很清楚,有对这方面不懂的同学可以研究下
    2021-01-01
  • 如何在PHP中操作临时文件

    如何在PHP中操作临时文件

    关于文件相关的操作,想必大家已经非常了解了,在将来我们刷到手册中相关的文件操作函数时也会进行详细的讲解。今天,我们先来了解一下在 PHP 中关于临时文件相关的一些内容。
    2021-05-05

最新评论