如何利用PHP做搜索功能,并红字显示搜索词?
导读:对于搜索功能功能大家应该都不陌生,我们在通过搜索词去搜索之后,就会显示搜索词的相关内容,并且搜索词是红字显示的,那么这个功能是怎样做的呢?接下来我们就利用PHP实现搜索功能,实现效果及代码如下,需要的朋友可以参考。 本文操作环境:Windo...
对于搜索功能功能大家应该都不陌生,我们在通过搜索词去搜索之后,就会显示搜索词的相关内容,并且搜索词是红字显示的,那么这个功能是怎样做的呢?接下来我们就利用PHP实现搜索功能,实现效果及代码如下,需要的朋友可以参考。
本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑
php怎么实现关键字搜索功能?
PHP实现关键字搜索后描红功能示例
在刚开始学习php的时候,就对搜索过后的关键字描红感到好奇,但是这几天在巩固php基础的时候,就发现原来这样的效果实现并不难。按照惯例,首先给大家看看效果图吧。
运行效果图
数据库相关
- 数据库名是book,只有一个数据库表,也是book,模拟了5条数据。
- name字段是书名,description字段是书的描述
代码
!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); 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有帮助,想要了解更多可以继续浏览网络其他相关的文章。
文本转载自PHP中文网
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何利用PHP做搜索功能,并红字显示搜索词?
本文地址: https://pptw.com/jishu/652744.html