1. php+mysql模糊查詢功能
這樣查詢
在程序中將輸入的「123」,轉換為多個字元串:
"%1%" "%2%" "%3%" "%12%" "%13%" "%23%" "%123%"
然後:
構造
select * from 數據表 where
(
檢索欄位 like "%1%"
or 檢索欄位 like "%2%"
or 檢索欄位 like "%3%"
or 檢索欄位 like "%12%"
or 檢索欄位 like "%13%"
or 檢索欄位 like "%23%"
or 檢索欄位 like "%123%"
)
不會hi我 祝你好運
2. 怎麼在網頁上用PHP做個搜索功能
通過from表單,將查詢的關鍵詞,通過 like 跟數據進行模糊查詢對比x0dx0a從topics表中查詢欄位subject與傳進來的參數'$_POST['topic']進行比較模糊查詢x0dx0a設subject欄位數據為:數學,英語,物理,化學,英文x0dx0a$subject=$_POST['topic']; x0dx0a$sql = "select * from topics where subject like '%" .$subject. "%'";x0dx0a$result = mysql_query($sql);x0dx0a若從表單提交的『topic』值為「學」,得到的結果將是:數學,化學x0dx0a多個欄位匹配查詢:x0dx0a$sql = "select id,subject from topics where (id like '%" .$id. "%') or (name like '%" .$name. "%') or (subject like '%" .$subject. "%') order by id desc";x0dx0a結果依據欄位id的順序
3. 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();
}
4. php站內搜索怎麼做
站內搜索是一種使用關鍵字來搜索文章標題的功能。
PHP的站內搜索可以使用SELECT和LIKE語句來對文章的標題進行過濾選擇,將需要的數據篩選出來。 如果有多個篩選可以使用AND語句連接起來進行多條語句篩選。 如果希望是能搜索到全站所有的數據,一般在資料庫設計之初最好就是把所有數據放一個表,然後通過擴展表的方式進行數據擴展!具體方法可以參考ONETHINK的設計模式。
具體搜索方法: SELECT * FROM 表名 WHERE 欄位 LIKE '%關鍵字%'
5. PHP+mysql中實現模糊查詢,只是把『=』改成了『like』,但是沒有變成模糊查詢。 怎麼修改啊
可以改成這樣,$sql="SELECT*農產品like'".$name."%'";
模糊匹配中需要有%之類的通配符來表示$name以外部分的名字,我寫的列子中%的位置根據你的實際情況來定,放在$name前面,後面,或者前後都有
6. PHP如何實現模糊搜索
mysql支持自然語言的全文搜索
對於欄位的要求:
只能是CHAR, VARCHAR, 或 TEXT 類型的欄位
表類型是MyISAM
在表建好,並導入數據後,建立一個fulltext index(索引)
用法:
select 欄位1,欄位2,欄位3, MATCH(要匹配的欄位名) AGAINST('keyword') as score from table having score>0
命中的每一行都會有個分數,分數越大表示結果越接近keyword,分數越低的就是越模糊的結果