本文目錄一覽:
關於 php 站內搜索 的實現~~
搜索結果id和標題都是數組,就要先傳遞到模板,在模板里用foreach循環顯示出來
比如搜索結果是
id、title,
$result=$rows;
$smarty-assign(‘result’,$result)傳遞到模板
然後模板foreach循環顯示
{foreach
from=$result
item=foo}
a
href=”shop.php?id={$foo.id}”{$foo.title}/a
{/foreach}
大概是這樣
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實現站內搜索功能
所謂站內搜索就是搜索數據庫內容,重點是sql語句,並不是PHP
搜索時候對數據庫一張或多張表進行查詢得出結果,對結果進行處理使其成為一條條消息,然後每條消息中添加鏈接(一般來說 這個鏈接地址會和數據庫 表名 以及 數據庫內容的主鍵有關聯)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/305206.html