在web开发过程当中,我们经常需要在前台页面输入关键词进行数据的搜索,我们通常使用的搜索方式是将搜索结果用另一个页面显示,这样的方式对于搭建高性能网站来说不是最合适的,今天给大家分享一下如何使用 jquery,MySQL 和 Ajax创建简单和有吸引力的 Ajax 搜索,这是继《使用jQuery打造一个实用的数据传输模态弹出窗体》第二篇jquery项目实际运用的教程,希望大家在开发项目的时候能够根据自己的实际情况灵活运用

点击搜索默认显示所有的结果

输入A之后显示的搜索结果

输入 p之后显示的搜索结果

没有找到相关的搜索词页面

演示 -点击下面的搜索按钮搜索数据

文件结构 主要用到几个文件  index.php首页 dbcon.php数据库连接文件 search.php搜索处理页面

第一步创建一个ajax_search的数据库,紧接着创建一个ajax_search表

复制代码 代码如下:

CREATE TABLE `ajax_search` (

`id` int(11) NOT NULL auto_increment,

`FirstName` varchar(50) NOT NULL,

`LastName` varchar(50) NOT NULL,

`Age` int(11) NOT NULL,

`Hometown` varchar(50) NOT NULL,

`Job` varchar(50) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

HTML  :index.php--程序主页面

复制代码 代码如下:

Ajax 教程:使用jquery和mysql创建一个ajax搜索

$(document).ready(function(){

//显示加载条

function showLoader(){

$('.search-background').fadeIn(200);

}

//隐藏加载条

function hideLoader(){

$('#sub_cont').fadeIn(1500);

$('.search-background').fadeOut(200);

};

$('#search').keyup(function(e) {

if(e.keyCode == 13) {

showLoader();

$('#sub_cont').fadeIn(1500);

$("#content #sub_cont").load("search.php?val=" + $("#search").val(), hideLoader());

}

});

$(".searchBtn").click(function(){

//显示进度

showLoader();

$('#sub_cont').fadeIn(1500);

$("#content #sub_cont").load("search.php?val=" + $("#search").val(), hideLoader());

});

});

Ajax 教程:使用jquery和mysql创建一个ajax搜索

DB Connect:dbcon.php--数据库连接文件

复制代码 代码如下:

//数据库连接函数

$link = mysql_connect('localhost', 'root', '你的密码');

mysql_select_db('ajax_demo',$link);//选择数据库连接

?>

搜索结果页面search.php代码如下

复制代码 代码如下:

function checkValues($value)

{

// 使用此函数对所有这些值都要检查防止 sql 注入和跨站点脚本

//除去字符串开头和末尾的空格或其他字符

$value = trim($value);

// Stripslashes

if (get_magic_quotes_gpc()) {

//删除由 addslashes() 函数添加的反斜杠,该函数用于清理从数据库或 HTML 表单中取回的数据。

$value = stripslashes($value);

}

//转换所有的 字符

$value = strtr($value,array_flip(get_html_translation_table(HTML_ENTITIES)));

// 剥去 HTML的标签

$value = strip_tags($value);

// 引用值

$value = mysql_real_escape_string($value);

return $value;

}

include("dbcon.php");//加载数据库连接文件

$rec = checkValues($_REQUEST['val']);

//获取table内容

if($rec)

{

$sql = "select * from ajax_search where FirstName like '%$rec%' or LastName like '%$rec%' or Age like '%$rec%' or Hometown like '%$rec%'";

}

else

{

$sql = "select * from ajax_search";

}

$rsd = mysql_query($sql);//查询这条语句

$total = mysql_num_rows($rsd);//返回结果集中行的数目

?>

echo "

搜索结果

";

echo "

姓名 昵称 年龄 住址 职业

while ($row = mysql_fetch_assoc($rsd))

{

echo "

";

echo "

" . $row['FirstName'] . "";

echo "

" . $row['LastName'] . "";

echo "

" . $row['Age'] . "";

echo "

" . $row['Hometown'] . "";

echo "

" . $row['Job'] . "";

echo "

";

}

echo "

";

if($total==0){ echo '

No Record Found !

';}?>

checkValues函数过滤字符串防止sql注入和跨站点脚本攻击,mysql_query($sql);用来查询语句,mysql_fetch_assoc()用来循环输出结果,怎么样是不是很简单,如果你的项目有需要,可以直接使用这个代码

ajax搜索思路,jquery创建一个ajax关键词数据搜索实现思路相关推荐

  1. Ajax 是什么? 如何创建一个 Ajax?

    在上世纪90年代,几乎所有的网站都由HTML页面实现,服务器处理每一个用户请求都需要重新加载网页.用户体验极差!由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回应时间.这导致了 ...

  2. Ajax 是什么? 如何创建一个Ajax?

    转自:http://blog.csdn.net/lxcao/article/details/52745743 题目点评 Ajax 是在工作中是必用的技术,在面试中十有八九会问的,答题的思路最好先回答原 ...

  3. Php ajax 动态 下载,jQuery动态实现ajax文件下载

    这次给大家带来jQuery动态实现ajax文件下载,jQuery动态实现ajax文件下载的注意事项有哪些,下面就是实战案例,一起来看一下.// Ajax 文件下载 jQuery.download = ...

  4. ajax 请求svg,jQuery append 到AJAX加载的SVG问题

    我已成功通过AJAX从外部文件加载了一些svg:$("#svg").load(svgUrl + " svg", function() { // do stuff ...

  5. ajax提交前先验证,jQuery验证AJAX之前提交(jQuery validation before AJAX sub

    我有以下的jQuery验证代码的简单注册表格: $(document).ready(function(){ $("#registerForm").validate({ rules: ...

  6. ajax 分割返回,jQuery用'...'分割ajax响应?

    我有一个ajax调用一个mvc控制器返回一个局部视图,好像jquery可能会用'...'来分割响应.响应由938行组成jQuery用'...'分割ajax响应? 12 使用此静态数据进行调试的目的. ...

  7. ajax远程调用,jquery中的ajax方法怎样通过JSONP进行远程调用

    关于JSONP的概念和为什么要使用JSONP网上已经有很多教程,这一节主要演示下在JQUERY中的ajax方法怎样通过JSONP进行远程调用 首先介绍下$.ajax的参数 type:请求方式 GET/ ...

  8. jQuery Howto: 如何快速创建一个AJAX的加载的图片效果

    开发过AJAX的朋友都可能需要自己生成"加载中"的图片显示效果,用来提示用户当前操作正在处理中.这里GBin1.com提供一个快速的方法生成这种效果. 你只需要使用ajaxStar ...

  9. ajax隐藏button,jquery下的ajax应用-form和button触发

    使用jquery的ajax,一种是form提交,一种是button直接提交. 1. 引用 2.js脚本ajax-form.js jQuery(function($) { $('form[data-as ...

最新文章

  1. python b站 关注_[我叫以赏]Python获取B站UP主粉丝数
  2. 常见的java内存溢出情况
  3. gitHub创建 repository仓库 并推送本地代码到该仓库
  4. Bob的烦恼II 逃离迷宫
  5. weka不能使用Apriori/FPGrowth
  6. 机器学习(一)——线性回归、分类与逻辑回归
  7. 高等数学上-赵立军-北京大学出版社-题解-练习2.7
  8. JavaFX的响应式设计
  9. 【资源下载】清华姚班、普林斯顿博士、斯坦福大学助理教授马腾宇博士论文下载——2018ACM最佳博士论文提名
  10. 怎样使用计算机网络,教大家怎样用电脑发出wifi信号,让手机共享!
  11. 写给创业者的四句金玉良言
  12. AngularJS Filters
  13. UI设计之不同抠图工具的使用技巧
  14. 速算扣除法php,介绍税收速算扣除额的计算方法。
  15. PPT中如何将图片灰化(黑白化)
  16. Vue 自定义消息通知组件
  17. Android图像处理-像素化的原理及实现
  18. oracle 查看考试成绩,oracle认证考试成绩如何查询?
  19. 迭代逆推本金(c语言)
  20. 2023年如何成为一名优秀的大前端Leader?

热门文章

  1. 安卓安装kali linux之Termux
  2. linux线程负载,linux 排查cpu负载过高异常(转载)
  3. fstream下的读写操作
  4. 动态css语言less,less让css具有动态语言的特性
  5. mysql count count id_mysql 为什么count(*)快于count(id)
  6. ab plc编程软件_AB编程软件及所有组态软件授权及安装教程包含FTViewV11
  7. Mysql无法创建外键的原因汇总_查看MySQL创建外键约束失败详细原因的方法
  8. python对角线图_python对角线图_python – 在Seaborn Jointplot上绘制对角线(相等的线)...
  9. Win11和Win10有什么区别 Win11和Win10区别对比
  10. IP地址开启https