当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-01 11:25:25 浏览: 评论:0 

这篇文章主要介绍了PHP实现关键字搜索后描红功能,结合实例形式分析了php数据库连接、查询、字符串转换等相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP实现关键字搜索后描红功能,分享给大家供大家参考,具体如下:

在刚开始学习php的时候,就对搜索过后的关键字描红感到好奇,但是这几天在巩固php基础的时候,就发现原来这样的效果实现并不难。按照惯例,首先给大家看看效果图吧。

运行效果图

PHP关键字搜索后描红

数据库相关

数据库名是book,只有一个数据库表,也是book,模拟了5条数据。

name字段是书名,description字段是书的描述

PHP关键字搜索后描红

代码

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4.   <meta charset="utf-8"
  5.   <meta http-equiv="X-UA-Compatible" content="IE=edge"
  6.   <title></title> 
  7.   <link rel="stylesheet" href=""
  8. </head> 
  9. <body> 
  10. <form action="14.php" method="post"
  11.   请输入关键字:<input type="text" name="keyword"
  12.   <input type="submit" value="提交" /> 
  13. </form> 
  14. <?php 
  15.   if(!emptyempty($_POST['keyword'])){ 
  16.     $keyword = $_POST['keyword'];//获取输入的关键字 
  17.     //进行数据库连接 
  18.     $conn = mysql_connect("localhost","root","1234"); 
  19.     if(!$conn){ 
  20.       die("数据库连接失败"); 
  21.     } 
  22.     $flag = mysql_select_db("book",$conn); 
  23.     if(!$flag){ 
  24.       die("数据库打开失败"); 
  25.     } 
  26.     mysql_query("set names utf8"); 
  27.     $sql = "select * from book where name like '%$keyword%' or description like '%$keyword%'"
  28.     $result = mysql_query($sql,$conn); 
  29.     while($row = mysql_fetch_assoc($result)){ 
  30. ?> 
  31. <div style="width:300px;height:100px;background-color: #ccc;margin-bottom: 10px"
  32.   <p>书名:<?php echo str_ireplace($keyword"<font color='#f00'>$keyword</font>",$row['name'])?></p> 
  33.   <p>描述:<?php echo str_ireplace($keyword"<font color='#f00'>$keyword</font>",$row['description'])?></p> 
  34. </div> 
  35. <?php 
  36.   } 
  37. }else
  38.   echo "很遗憾,没有找到书籍"
  39. ?> 
  40. </body> 
  41. </html> 

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

Tags: PHP关键字搜索后描红

分享到: