ajax mysql jquery 搜索_jquery创建一个ajax关键词数据搜索实现思路

本文介绍如何利用jQuery、MySQL和Ajax构建一个高效、动态的搜索功能。通过实时搜索,用户在输入关键词时,页面无需刷新即可显示匹配结果。教程详细讲解了数据库设计、HTML页面、Ajax请求以及防止SQL注入的处理方法,提供了一个实际的项目应用示例。
摘要由CSDN通过智能技术生成

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

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

9db432072c62f40962a14d07890ca409.png

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

bcc935d928d4ce7ec268a1ccde9cdc7c.png

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

5e23e6a7ef96a79039c4821bc7960d4b.png

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

419d163ae866f13c02e9ab2b0f2de0bf.png

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

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

17aa733565b2c932b490222ed1b0b36d.png

第一步创建一个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()用来循环输出结果,怎么样是不是很简单,如果你的项目有需要,可以直接使用这个代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值