Keyword color change
In the previous section, we have basically completed how to search for keywords. Next, we will beautify the search display.
Add the following code to the fuzzy query statement
$row['username'] = str_replace($keywords,'<font color="red">'.$keywords.'</font>',$row['username']);
What it means is to replace the query keywords in the query name with red fonts.
<?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; } } ?>
In this way, our search is basically completed.
Complete code display
<?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>