PHP实现关键字搜索后描红功能示例

yipeiwu_com6年前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+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

使用PHPWord生成word文档的方法详解

本文实例讲述了使用PHPWord生成word文档的方法。分享给大家供大家参考,具体如下: 有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑。PHPWord是一个用纯P...

php class类的用法详细总结

一:结构和调用(实例化): class className{} ,调用:$obj = new className();当类有构造函数时,还应传入参数。如$obj = new classN...

CI框架源码阅读,系统常量文件constants.php的配置

配置系统常量 1、当文件系统工作的时候检查并配置这些首选项文件系统运行的时候这些默认的值会适当的增加系统的安全性,但是在php或apache的底层单独的为每各用户开一个进程的时候,使用八...

针对PHP开发安全问题的相关总结

对于互联网应用的开发,作为开发者必须时刻牢记安全观念,并在开发的代码中体现。PHP脚本语言对安全问题并不太关心,特别是对大多数没有经验的开发者来说。每当你做任何涉及到钱财事务等交易问题时...

php模板中出现空行解决方法

在本地也解决了,但是上传到服务器依然有空行,搞了一个上午,都快崩溃了,最后决定自己想办法解决,经过几个小时的摸索终于有了完美解决方法了。 运用php显示缓冲区显示原理,成功去掉 在php...