关键词变色
上一节我们已经基本完成了如何去搜索关键词,我们接下来对搜索显示做美化。
在模糊查询语句中加入下面你的代码
$row['username'] = str_replace($keywords,'<font color="red">'.$keywords.'</font>',$row['username']);
他的意思是把查询的名字中查询的关键词替换成红色的字体。
<?php $keywords = isset($_GET['keywords']) ? trim($_GET['keywords']) : ''; $conn = @mysql_connect("localhost", "root", "root") or die("数据库链接错误"); mysql_select_db("sql", $conn); mysql_query("set names 'utf8'"); //使用utf-8中文编码; //PHP模糊查询 $sql="SELECT * FROM user WHERE username LIKE '%{$keywords}%'"; $rs= mysql_query($sql); $users = array();//保存所以得查询到的用户 if(!empty($keywords)){ while ($row=mysql_fetch_assoc($rs)){ $row['username'] = str_replace($keywords,'<font color="red">'.$keywords.'</font>',$row['username']); $users[] = $row; } } ?>
这样,我们的搜索基本就完成了。
完整代码展示
<?php $keywords = isset($_GET['keywords']) ? trim($_GET['keywords']) : ''; $conn = @mysql_connect("localhost", "root", "root") or die("数据库链接错误"); mysql_select_db("sql", $conn); mysql_query("set names 'utf8'"); //使用utf-8中文编码; //PHP模糊查询 $sql="SELECT * FROM user WHERE username LIKE '%{$keywords}%'"; $rs= mysql_query($sql); $users = array();//保存所以得查询到的用户 if(!empty($keywords)){ while ($row=mysql_fetch_assoc($rs)){ $row['username'] = str_replace($keywords,'<font color="red">'.$keywords.'</font>',$row['username']); $users[] = $row; } } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>查询器</title> <style> .textbox { width: 355px; height: 40px; border-radius: 3px; border: 1px solid #e2b709; padding-left: 10px; } .su { width: 365px; height: 40px; background-color: #7fbdf0; color: white; border: 1px solid #666666; } table{ background-color: #7fbdf0; line-height:25px;} th{ background-color:#fff;} td{ background-color:#fff; text-align:center} </style> </head> <body > <form action="" method="get"> <p><input type="text" name="keywords" value="" placeholder="请输入内容"/> <p><input type="submit" value="查询"/> </form> <?php if ($keywords){ echo '<h3>查询关键词:<font color="red">'.$keywords.'</font></h3>'; } if ($users){ echo '<table width="500" cellpadding="5" >'; echo '<tr><th>用户名</th><th>密码</th><th>邮箱</th><th>性别</th><th>爱好</th>'; foreach ($users as $key=>$value){ echo '<tr>'; echo '<td>'.$value['username'].'</td>'; echo '<td>'.$value['password'].'</td>'; echo '<td>'.$value['sex'].'</td>'; echo '<td>'.$value['email'].'</td>'; echo '<td>'.$value['hobby'].'</td>'; echo '</tr>'; } }else{ echo '没有查询到相关用户'; } ?> </body> </html>