PHP是一種廣泛應用於Web開發中的伺服器端腳本語言,它具有強大的功能和靈活性,能夠實現多種複雜的功能。其中,搜尋功能無疑是使用者最常用的功能之一,於是本文將介紹如何以PHP實現Web搜尋功能。
- 建立搜尋表單
在網站主頁面上新增一個搜尋表單,通常是一個簡單的文字方塊和一個搜尋按鈕。程式碼如下:
其中,action
屬性指定了表單提交時的處理檔案為search.php
,method
屬性指定了提交方式為get
,也可以使用post
方式。
- 處理搜尋請求
將搜尋請求提交至search.php
檔案進行處理。程式碼如下:
<?php // 获取提交的搜索关键词 $keyword = $_GET['keyword']; // 连接数据库 $conn = mysqli_connect('localhost', 'root', 'password', 'database'); // 查询匹配的结果 $result = mysqli_query($conn, "SELECT * FROM articles WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'"); // 处理查询结果 while ($row = mysqli_fetch_assoc($result)) { // 显示搜索结果 echo $row['title']; // ... } // 关闭数据库连接 mysqli_close($conn); ?>
首先,從$_GET
資料裡取得關鍵字$keyword
,然後連接資料庫,使用SELECT
語句查詢匹配的結果。這個範例中是查詢了articles
表中標題和內容出現關鍵字$keyword
的所有文章。
最後,處理查詢結果並顯示在頁面上,記得最後關閉資料庫連線。
- 精確匹配搜尋
如果要實現精確匹配搜素,則將WHERE
語句中的LIKE
改為=
即可。程式碼如下:
$result = mysqli_query($conn, "SELECT * FROM articles WHERE title = '$keyword'");
- 分頁顯示搜尋結果
當搜尋結果被查詢出來後,通常會將其顯示在多個頁面中。這時,就需要依照分割好的頁面條數來顯示相關搜尋結果。可以使用PHP的LIMIT
語句對查詢結果進行分頁處理。程式碼如下:
// 分页每页显示的条数 $pagesize = 10; // 当前页码 $page = isset($_GET['page']) ? intval($_GET['page']) : 1; // 查询总记录数 $count_result = mysqli_query($conn, "SELECT COUNT(*) AS count FROM articles WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'"); $count_row = mysqli_fetch_assoc($count_result); $count = $count_row['count']; // 计算总页数 $pagecount = ceil($count / $pagesize); // 分页查询 $start = ($page - 1) * $pagesize; $limit = "$start, $pagesize"; $result = mysqli_query($conn, "SELECT * FROM articles WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%' LIMIT $limit"); // 处理查询结果 // ... // 显示分页链接 echo "<div>"; for ($i = 1; $i $i"; } else { echo "<a>$i</a>"; } } echo "</div>";
首先,定義每頁顯示的條數和目前的頁碼。然後查詢符合的結果總條數併計算總頁數。最後,使用LIMIT
語句對查詢結果進行分頁,並顯示分頁連結。其中,$start
和$limit
參數用於控制查詢的起始位置和數量。
- 使用全文搜尋
除了在關鍵字中使用精確匹配或模糊匹配外,還可以使用全文搜尋來實現更精確的結果匹配。全文搜尋可以透過MySQL自帶的MATCH
和AGAINST
語句來實現,使用方法如下:
$result = mysqli_query($conn, "SELECT * FROM articles WHERE MATCH(title, content) AGAINST('$keyword' IN NATURAL LANGUAGE MODE)");
關鍵字$keyword
會被自動分詞,匹配title
和content
中任一個字段,最後按照匹配度進行排序並顯示結果。
以上就是用PHP實作Web搜尋功能的全部內容。透過以上步驟,我們可以快速為網站添加搜尋功能,提高網站的使用者體驗。
以上是web用php怎麼實現搜尋功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver CS6
視覺化網頁開發工具