PHP实现关键字搜索后描红功能示例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP 实现关键字搜索后描红功能⽰例
本⽂实例讲述了PHP 实现关键字搜索后描红功能。
分享给⼤家供⼤家参考,具体如下:
在刚开始学习php 的时候,就对搜索过后的关键字描红感到好奇,但是这⼏天在巩固php 基础的时候,就发现原来这样的效果
实现并不难。
按照惯例,⾸先给⼤家看看效果图吧。
数据库名是book ,只有⼀个数据库表,也是book ,模拟了5条数据。
name 字段是书名,description
字段是书的描述
1
2
3
45678910111213141516171819202122<!DOCTYPE html>
<html>
<head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href="">
</head>
<body>
<form action="14.php" method="post">
请输⼊关键字:<input type="text" name="keyword">
<input type="submit" value="提交" />
</form><?php if(!empty($_POST['keyword'])){ $keyword = $_POST['keyword'];//获取输⼊的关键字 //进⾏数据库连接
$conn = mysql_connect("localhost","root","1234");
if(!$conn){
die("数据库连接失败");
} $flag = mysql_select_db("book",$conn);
232425262728293031323334353637383940
41
if(!$flag){
die("数据库打开失败");
} mysql_query("set names utf8"); $sql = "select * from book where name like '%$keyword%' or description like '%$keyword%'"; $result = mysql_query($sql,$conn); while($row = mysql_fetch_assoc($result)){>
<div style="width:300px;height:100px;background-color: #ccc;margin-bottom: 10px">
<p>书名:<?php echo str_ireplace($keyword, "<font color='#f00'>$keyword</font>",$row['name'])?></p>
<p>描述:<?php echo str_ireplace($keyword, "<font color='#f00'>$keyword</font>",$row['description'])?></p>
</div>
<?php }}else{ echo "很遗憾,没有找到书籍";
}
>
</body></html>最后说⼀下实现的原理,⾸先先获取从⽂本框输⼊的关键字⽂字,然后就是连接数据库进⾏查询,将书名中或者描述中包含关键字⽂字的记录查询出来,把查询到的结果循环显⽰出来,在显⽰书名和描述的时候,⽤str_ireplace()函数将其中的关键字⽂字替换成带有红⾊的⽂字,就实现了关键字描红的效果。
更多关于PHP 相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》
希望本⽂所述对⼤家PHP 程序设计有所帮助。