① php搜索怎麼做
php中要查詢mysql資料庫中的內容必須先連接mysql資料庫,然後再利用sql語句進行查詢
SELECT 語句用於從資料庫中選取所要搜索的數據。
具體用法為:
語句1:SELECT*FROMtable_name
解說:意思就是讀取整個表table_name裡面的數據顯示出來
語句1:SELECT*FROMtable_nameWherex=1
解說:意思就是讀取表table_name裡面鍵名為:x值為:1的數據顯示出來
Select 查詢語句的例子
下面的例子選取存儲在 "Persons" 表中的所有數據(* 字元選取表中所有數據):
<?php
$con=mysql_connect("localhost","peter","abc123");
if(!$con)
{
die('Couldnotconnect:'.mysql_error());
}
mysql_select_db("my_db",$con);
$result=mysql_query("SELECT*FROMPersons");
while($row=mysql_fetch_array($result))
{
echo$row['FirstName']."".$row['LastName'];
echo"<br/>";
}
mysql_close($con);
?>
上面這個例子在 $result 變數中存放由 mysql_query() 函數返回的數據。接下來,使用
mysql_fetch_array() 函數以數組的形式從記錄集返回第一行。每個隨後對 mysql_fetch_array()
函數的調用都會返回記錄集中的下一行。 while loop 語句會循環記錄集中的所有記錄。為了輸出每行的值,使用了 PHP 的 $row
變數 ($row['FirstName'] 和 $row['LastName'])。
以上代碼的輸出:
PeterGriffin
GlennQuagmire
② 怎麼在網頁上用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的順序
③ 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']='(namelike"%phpernote%")OR(titlelike"%phpernote")'
這里的like查詢即為:name like '%phpernote%' or title like '%phpernote'
④ 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關聯不大。
思路是用js實現,綁定選擇框的change事件,然後ajax獲取第二個選擇框的列表。
當第二個選擇框觸發change事件,就ajax載入列表,把相關的參數傳到後端,獲取數據後再輸出到頁面。
推薦使用jQuery庫,它的html處理,和ajax都很方便新人上輪笑手。
關鍵點:後端需要配合輸出json格式數據,方便解析.
如:
$subcates=[
['id'=>1,'name'=>'aaa'],
['id'=>2,'name'=>'bbb'],
];
echo json_encode([ 'code'=>1,'result'=>$subcate ],JSON_UNESCAPED_UNICODE);
前端jQuery獲取數據
$.ajax({
url:'getsubcate.php?bigcate=1',
dataType:'JSON',
success:function(json){
console.log(json.result);
//此處將result數組拼接成html放入第二個選擇框
}
});
獲取列表的操作類似。
另外,如果對這種動態頁面感興趣的話,可以學習下Vue或React 這些前端框架。蠢衡只需專注數據,不需要處理html.