当前位置:Gxlcms > PHP教程 > 怎么用php写的关键字查询

怎么用php写的关键字查询

时间:2021-07-01 10:21:17 帮助过:4人阅读

用php写关键字查询的方法:首先获取从文本框输入的关键字文字;然后连接数据库进行查询,并将书名中或者描述中包含关键字文字的记录查询出来;最后把查询到的结果循环显示出来即可。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

怎么用php写的关键字查询?

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

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

运行效果图

这里写图片描述

数据库相关

  • 数据库名是book,只有一个数据库表,也是book,模拟了5条数据。
  • name字段是书名,description字段是书的描述

这里写图片描述

代码

  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(!empty($_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. <p 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. </p>
  35. <?php
  36. }
  37. }else{
  38. echo "很遗憾,没有找到书籍";
  39. }
  40. ?>
  41. </body>
  42. </html>

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

推荐学习:《PHP视频教程》

以上就是怎么用php写的关键字查询的详细内容,更多请关注gxlcms其它相关文章!

人气教程排行