本文實例講述了PHP實現關鍵字搜索后描紅功能。分享給大家供大家參考,具體如下:
在剛開始學習php的時候,就對搜索過后的關鍵字描紅感到好奇,但是這幾天在鞏固php基礎的時候,就發現原來這樣的效果實現并不難。按照慣例,首先給大家看看效果圖吧。
運行效果圖
數據庫相關
代碼
<!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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選