本文目錄一覽:
php站內搜索怎麼做
站內搜索是一種使用關鍵字來搜索文章標題的功能。
PHP的站內搜索可以使用SELECT和LIKE語句來對文章的標題進行過濾選擇,將需要的數據篩選出來。 如果有多個篩選可以使用AND語句連接起來進行多條語句篩選。 如果希望是能搜索到全站所有的數據,一般在資料庫設計之初最好就是把所有數據放一個表,然後通過擴展表的方式進行數據擴展!具體方法可以參考ONETHINK的設計模式。
具體搜索方法: SELECT * FROM 表名 WHERE 欄位 LIKE ‘%關鍵字%’
PHP實現搜索查詢功能的方法技巧
下面是首頁顯示數據表package中的內容,但是有個條件,顯示在首頁的內容還必須是 :欄位status=0,且printing=0的數據才能在首頁列表中顯示出來。
頁面上有一個「搜索」功能,輸入條件後就會根據條件來進行查詢。
一般的搜索的話,只要在首頁顯示列表方法index()中給一個:
?
$map=array();//初始化查詢條件
$map=$this-_search();//調用查詢方法
$total = $this-Model-where ($map)-count(); //這個主要是用來計算頁面顯示數據條數的
if ($total == 0) {
$_list = ”;
} else {
$_list = $this-Model-where ($map)-limit( $post_data [‘first’] . ‘,’ . $post_data [‘rows’] )-select();
}
然後,就是寫一個_search():
protected function _search(){
$map = array ();
$post_data = I ( ‘post.’ );
if ($post_data [‘packageid’] != ”) {
$map [‘packageid’] = array (
‘like’,
‘%’ . $post_data [‘packageid’] . ‘%’
);
}
return $map;
}
最後,在設置的「搜索」菜單中,調用這個搜索方法。
但是,這個搜索的.同時,還要確保在欄位status=0,且printing=0的數據中進行搜索。
這個限制條件該加在什麼地方。各種嘗試和查詢後,才知道。限制條件直接加在SQL語句中就行了(如下紅色的地方)。(我自己試的時候一直在如下藍色的地方加條件,屢試屢敗!)
$map=array();
$map=$this-_search();
$total = $this-Model-where ($map)-where(array(‘status’ =0,’print_status’=0))-count();
if ($total == 0) {
$_list = ”;
} else {
$_list = $this-Model-where ($map)-where(array(‘status’ =0,’print_status’=0))-limit( $post_data [‘first’] . ‘,’ . $post_data [‘rows’] )-select();
}
更多相關文章推薦:
PHP中怎麼實現關鍵字搜索?
PHP要實現關鍵字查搜索,需要用到like關鍵字來組合查詢條件
like具體實現方法如下:
例一:
1 $userForm=M(‘user’);
1 $where[‘name’]=array(‘like’,’phpernote%’);
2 $userForm-where($where)-select();
這裡的like查詢即為:name like ‘phpernote%’
例二:
1$where[‘name’]=array(‘like’,array(‘%phpernote%’,’%.com’),’OR’);
這裡的like查詢即為:name like ‘%phpernote%’ or name like ‘%.com’
例三:
1$where[‘name’]=array(array(‘like’,’%a%’),array(‘like’,’%b%’),array(‘like’,’%c%’),’phpernote’,’or’);
這裡的like查詢即為:(`name` LIKE ‘%a%’) OR (`name` LIKE ‘%b%’) OR (`name` LIKE ‘%c%’) OR (`name` = ‘phpernote’)
例四:
1$where[‘_string’]='(name like “%phpernote%”) OR (title like “%phpernote”)’
這裡的like查詢即為:name like ‘%phpernote%’ or title like ‘%phpernote’
php 如何實現文章內容搜索?
簡單的方法是
SELECT * FROM 文章表 WHERE 內容 like ‘%新聞%’;
下面另外二種方法給你參考
另外業務層方面的方法是設置標籤,然後關聯表裡面記錄對應的文章ID
另外技術層方面的方法是使用搜索引摯,如sphinx等。這是高級部分
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/275882.html