本文目錄一覽:
- 1、怎麼在網頁上用PHP做個搜索功能?
- 2、PHP實現搜索查詢功能的方法技巧
- 3、關於搜索功能那個php代碼,能再詳細點嗎?
- 4、如何在網頁中實現搜索功能?
- 5、thinkphp 怎麼在模板頁面做一個搜索功能
怎麼在網頁上用PHP做個搜索功能?
通過from表單,將查詢的關鍵詞,通過 like 跟數據進行模糊查詢對比
從topics表中查詢欄位subject與傳進來的參數’$_POST[‘topic’]進行比較模糊查詢
設subject欄位數據為:數學,英語,物理,化學,英文
$subject=$_POST[‘topic’];
$sql = “select * from topics where subject like ‘%” .$subject. “%'”;
$result = mysql_query($sql);
若從表單提交的『topic』值為「學」,得到的結果將是:數學,化學
多個欄位匹配查詢:
$sql = “select id,subject from topics where (id like ‘%” .$id. “%’) or (name like ‘%” .$name. “%’) or (subject like ‘%” .$subject. “%’) order by id desc”;
結果依據欄位id的順序
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代碼,能再詳細點嗎?
資料庫(mysql):一個資料庫(search),庫裡面一個表(title),表裡面一個欄位(name).
PHP頁面:兩個頁面(index.php
search.php)
第一步.創建資料庫.(目前大家應該都是用的phpmyadmin來操作資料庫的吧?)
建立一個資料庫.
第二步.建表
在剛建立的search資料庫里插入一個名字為title的表.建表時讓選插入幾個欄位.寫1就可以了.
第三步.建欄位
插入的欄位命名為name,長度值20就可以了.
—–資料庫部分已經做完,接下來是網頁部分—–
第四步.建立兩個頁面
建立兩個文件:index.php和search.php可以使用記事本等文本工具直接建立.我使用的工具是Dreamweaver(方便嘛.呵呵).
第五步.index.php的頁面製作.
這個頁面是用來傳遞你搜索的關鍵字的.代碼如下:
form method=」post」
action=」search.php」
name=」search」
input name=」search」 type=」text」 value=」”
size=」15″ input type=」submit」
value=」Search」
/form
這段代碼是建立一個FORM表單.專門用來提交數據的.
第一行是FORM表單的開始.它的傳遞方式是post,傳遞到search.php這個頁面.表單名為name.
第二行是文本域和提交按鈕.文本域命名為search,按鈕默認就可以了.
第三行是FORM表單的結束語句.
第五步.search.php的頁面製作.
這個頁面很關鍵.因為他是獲取index頁面傳遞過來的值,然後導出搜索的數據.
首先要綁定你建立的search資料庫,我用的DW生成的.
上一個頁面傳送的文本域是search.所以,這裡需要建立一個search變數.來接收你輸入的關鍵詞.用以下語句定義變數:
?php
$searchs = $_POST[‘search’];
?
然後建立一個記錄集,選擇高級.SQL語句中填寫:
SELECT *
FROM title
WHERE name like
『%$searchs%』
這句的意思是選擇title表裡面的所有欄位(*),然後查詢name中的$searchs變數。這個變數也就是你在index中輸入的值啦。
然後在BODY裡面綁定一個動態文本。選擇NAME。
如何在網頁中實現搜索功能?
第一,選擇百度自定義的搜索功能。百度為了有效促進站長的發展,進而實現共贏,對此百度提供了豐富的站長工具,其中百度自定義的搜索就是一款非常實用的站內搜索模塊,對於廣大的站長朋友們來說,只需要直接引入,不需要進行二次開發就能夠輕鬆的實現站內搜索。不過這種方法當然也有一定的缺陷,因為這沒有定製功能,所以在深度整合方面還存在著一定的缺陷。
第二,選擇第三方的搜索功能的開源系統。比如常見的SOLR以及SPHINX等軟體,這些開源系統能夠直接被引入到網站中,從而實現站內的搜索功能。不過對於很多技術水平不高的站長朋友們來說,應用這些開源系統往往具有一定的難度,在實際使用中需要學習,這往往會影響到站長的應用熱情。
第三,通過採購的方式來獲得需要的定製服務。這種方法顯然具有成本高的劣勢,畢竟需要採購相應的定製服務,往往需要不菲的費用,對於草根站長們來說,可能自身的投資資金不夠,所以在採購第三方定製服務方面積極性不高,但是從性能的角度上來看,定製具有良好的搜索體驗,而且現在互聯網上也開始出現了免費版,再加上這方面的系統開源情況越來越高,所以這些定製服務的費用也開始降低,所以從發展網站品牌的角度上來說,採用定製服務顯然具有更多的優勢。
總而言之,站內搜索隨著網站內容的不斷增長開始顯得越發重要,對此我們從建站的最初就要充分的想到引入到搜索功能,這不僅僅能夠有效提升用戶的搜索體驗,同時也能夠有助於百度蜘蛛的抓取。
有三種常見的方式
1、自己設計表單、編程、與資料庫鏈接檢索。
2、在百度或谷歌註冊申請站內搜索功能。獲得代碼,添加到自己的頁面中。
3、使用第三方的工具軟體,搭建檢索功能。
thinkphp 怎麼在模板頁面做一個搜索功能
1,你要做出來的是實現無刷新搜索對嗎?
這個用到前端的ajax;
說一下流程,點擊右側的放大鏡(onclick);
把input框裡面的值傳到後端;
後端根據這個值返回相應的數據。
2,給你手寫一個模板吧
$(‘#search_bottom’).click(function(){
var content = $(‘#search_content’).val();//獲取內容
$.ajax({
url://你的處理地址
data:{‘content’:content},
type:’POST’,
dataType:’json’,
success:function(){},
error:function(){}
})
});
好啦,不懂得可以追問。
原創文章,作者:LYOZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145506.html