分享好友 教程首页 教程搜索 频道列表

jQuery+AJAX+PHP+MySQL数据库开发搜索功能,无跳转无刷新搜索

2021-07-21 12:305400
+关注30
核心提示:演示:1、当表单无输入任何关键词的时候,返回请输入关键词...2、当表单输入的关键...

演示:

1、当表单无输入任何关键词的时候,返回


undefined


2、当表单输入的关键词查询无果的时候,返回"无结果"

undefined


3、当表单输入的关键词查询有结果,则返回结果。

undefined

表单页面

index.html

<!DOCTYPE html>
<html>
<head>    
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>AJAX搜索</title>
    <style type="text/css">
        *{margin:0px;padding:0px;}
        h2{
            text-align: center;
        }
 
        #search_con{
            width: 300px;
            margin:10px auto;
        }
 
        #keywords{
            width: 300px;
            margin-top: 10px;
            height: 30px;
        }
 
        #btn{
            width: 305px;
            height: 35px;
            margin-top: 10px;
        }
 
        #search_result{
            width: 300px;
            margin:30px auto;
        }
    </style>
    <script src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script>
        $(function(){
            $("button").click(function(){
                var inputVal = $("#keywords").val();
                $.ajax({
                    type:"GET",
                    url:"search.php?keywords=" + inputVal,
                    dataType:"json",
                    success:function(data){
                        $(function(){
                            var con="";
                            $.each(data,function(i,data){
                                if (data.result == "0") {
                                    con+="<p>请输入关键词...</p>"
                                }else if(data.result == "1"){
                                    con+="<p>无结果</p>"
                                }else{
                                    con+="<p>"+data.title+"</p>"
                                }
                            });
                                console.log(con);
                                $("#search_result").html(con);
                        })
                        return false; 
                    }
                })
            })
        })
    </script>
</head>
<body>
<!-- 表单 -->
    <div id="search_con">
    <form action="##">
        <h2>AJAX+PHP+MySQL搜索</h2>
        <input type="text" name="keywords" id="keywords" placeholder="搜索关键词..."><br/>
        <button name="button" type="button" id="btn">搜索</button>
    </form>
    </div>
    <!-- 搜索结果显示区域 -->
    <div id="search_result"></div>
</body>
</html>


服务端

search.php

<?php
header("Content-type:application/json");
//定义参数
$keywords = $_GET["keywords"];
//获取数据库配置
require_once("config.php");
//连接数据库
$con = mysql_connect($host,$username,$password);
  if (!$con)
    {
      die('连接数据库失败,失败原因:' . mysql_error());
    }
  //设置数据库字符集  
  mysql_query("SET NAMES UTF8");
  //查询数据库
  mysql_select_db($db, $con);
  //过滤关键词左右空格
  $keyword = trim($keywords);
  if (empty($keyword)) {
  //如果关键词为空,则返回result=0
  echo "[{\"result\":\"0\"}]";
    }else{
      $result = mysql_query("SELECT * FROM $tb WHERE title like '%$keyword%' ORDER BY ID DESC");
      $num = mysql_num_rows($result);
      if ($num) {
        $search_result = array();
          while($row = mysql_fetch_array($result)){
              $search_result[] = $row;
          }
          // 将数组转成json格式
          echo json_encode($search_result);
  
  }else{
    //如果查询无果,则返回result=1
    echo "[{\"result\":\"1\"}]";
  }
}
?>


数据库配置

config.php

<?php
//配置文件 - BY TANKING
$host="localhost";
$username="root";
$password="root";
$db="test";
$tb="datalist";
?>


数据库结构

undefined


SQL结构说明


数据库名:test

表名:datalist

字段:id,title,url

字段解析:

id - 自增ID

title - 标题

url - 页面链接


本文标签: #异步 #加载 #搜索 #调取
整理员:网络
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

html+ajax+PHP+mysql实现数据展示在前端页面

    1、使用Navicat for MySQL创建数据库和表Navicat for MySQL使用起来十分简单,不用像PHP创建数据库和表的时候需要写代码来完成,具体操作此处不再详细介绍,可以参考以下网址进行创建:创建好的数据库和表如下图所示: 2、使用PHP从 MySQL 数据库读取数据以下实例中我们从student数据库的studentinfo表读取了studentID,studentName,class,department和 teleNumber列的数据并显示在页面上:?php//header(&qu

网络转载 PHP2020-06-30

下一篇
我来说两句
抢沙发