本文目錄一覽:
關於搜索功能那個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。
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 code
?php
if($_SERVER[‘REQUEST_METHOD’] == “POST”) {$a[]=”Anna1″;
$a[]=”Anna2″;
$a[]=”Anna3″;
$a[]=”Anna4″;
$a[]=”Anna5″;
$a[]=”Anna6″;
$a[]=”Brittany1″;
$a[]=”Brittany2″;
$a[]=”Brittany3″;
$a[]=”Brittany4″;
$a[]=”Brittany5″;
$a[]=”Brittany6″;
$a[]=”Brittany7″;
$a[]=”Cinderella1″;
$a[]=”Cinderella2″;
$a[]=”Cinderella3″;
$a[]=”Cinderella4″;
$a[]=”Cinderella5″;
$a[]=”Cinderella6″;
$a[]=”Cinderella7″;
$a[]=”Diana1″;
$a[]=”Diana2″;
$a[]=”Diana3″;
$a[]=”Diana4″;
$a[]=”Diana5″;
$a[]=”Diana6″;
$a[]=”Diana7″;
$a[]=”Eva”;
$a[]=”Fiona”;
$a[]=”Gunda”;
$a[]=”Hege”;
$a[]=”Inga”;
$a[]=”Johanna”;
$a[]=”Kitty”;
$a[]=”Linda”;
$a[]=”Nina”;
$a[]=”Ophelia”;
$a[]=”Petunia”;
$a[]=”Amanda”;
$a[]=”Raquel”;
$a[]=”Cindy”;
$a[]=”Doris”;
$a[]=”Eve”;
$a[]=”Evita”;
$a[]=”Sunniva”;
$a[]=”Tove”;
$a[]=”Unni”;
$a[]=”Violet”;
$a[]=”Liza”;
$a[]=”Elizabeth”;
$a[]=”Ellen”;
$a[]=”Wenche”;
$a[]=”Vicky”;
//get the q parameter from URL
$q = $_POST[“q”];
$r = preg_grep(“/^$q/i”, $a);
exit(join(‘br’, $r));
}
?
script type=”text/javascript” src=””/script
script
function showHint(s) {
if($.trim(s) == ”) return;
$(‘#txtHint’).css(‘display’, ”);
$(‘#txtHint’).load(”, {q : s});
}
/script
div
form action=”gethint.php” method=”get” name=”q”
input type=”text” id=”q” name=”q” onkeyup=”showHint(this.value)” style=”width:300px; height:32px;” /
input type=”submit” style=”width:80px; height:34px;” value=”Search”/
p id=”txtHint” style=”width:600px;diplay:none”/p
/form
/div
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’
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/232140.html