首页 >后端开发 >PHP问题 >php怎么实现关键字搜索功能

php怎么实现关键字搜索功能

藏色散人
藏色散人原创
2022-01-18 10:10:573952浏览

php实现关键字搜索功能的方法:1、创建数据库;2、获取输入的关键字;3、进行数据库连接;4、将书名中或者描述中包含关键字文字的记录查询出来,并把查询到的结果循环显示出来即可。

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[&#39;keyword&#39;])){
    $keyword = $_POST[&#39;keyword&#39;];//获取输入的关键字
    //进行数据库连接
    $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 &#39;%$keyword%&#39; or description like &#39;%$keyword%&#39;";
    $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=&#39;#f00&#39;>$keyword</font>",$row[&#39;name&#39;])?></p>
  <p>描述:<?php echo str_ireplace($keyword, "<font color=&#39;#f00&#39;>$keyword</font>",$row[&#39;description&#39;])?></p>
</div>
<?php
  }
}else{
  echo "很遗憾,没有找到书籍";
}
?>
</body>
</html>

最后说一下实现的原理,首先先获取从文本框输入的关键字文字,然后就是连接数据库进行查询,将书名中或者描述中包含关键字文字的记录查询出来,把查询到的结果循环显示出来,在显示书名和描述的时候,用str_ireplace()函数将其中的关键字文字替换成带有红色的文字,就实现了关键字描红的效果。

推荐学习:《PHP视频教程

以上是php怎么实现关键字搜索功能的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn