導航:首頁 > 編程語言 > php條件查詢語句

php條件查詢語句

發布時間:2023-02-11 02:05:49

1. 請教一個php+mysql多條件查詢的語句

一般方法是這樣的:

$cond="where addtime between '$starttime' and '$endtime'";

if ($work!='') $cond.=" and work='$work'";
if ($user!='') $cond.=" and user='$user'";
if ($text!='') $cond.=" and text like '%$text%'";

$sql="select addtime from table $cond";

......
mysql_query($sql)
........

能夠明白我的思路吧?不明白請說明。

補充:
調試語句應該這樣:
if (!$result)
echo "SQL=$sql, ERROR=".mysql_error();

2. php自定義查詢條件

你可以使用get方式傳值,對表單提交的值進行判斷(如果為空,則過濾掉該值;或者寫分支,構造where條件),構造一個sql的where語句,
如:$where = "name = $_GET['name'] and ......",多個條件就寫多個用and連接的條件,然後你就可以查詢了,至於分頁,就不說了,太簡單了。

3. php 如何查詢滿足任意兩個條件的記錄

可使用case when來實現這個條件,需要嵌套子查詢語句

sql語句代碼示例如下:
復制代碼 代碼如下:
SELECT * FROM DemoTable
WHERE ((SELECT CASE 1 WHEN condition1滿足條件 THEN 1 ELSE 0 END FROM DemoTable )
+(SELECT CASE 1 WHEN condition2滿足條件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition3滿足條件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition4滿足條件 THEN 1 ELSE 0 END FROM DemoTable)
+(SELECT CASE 1 WHEN condition5滿足條件 THEN 1 ELSE 0 END FROM DemoTable))>=2
我沒遇見過找的這個資料,同學習吧

4. PHP多條件模糊查詢如何寫(原先是asp的想寫成php)

完全一樣的寫法呀,只是變數前面加個$、then用{}代替等,例如前幾行代碼這樣:

$cond='';
if($_POST["ckc"]=="查"){
if($_POST["bh"]!=""){
if($cond=="")$cond="編號like'%"&trim(request("bh"))&"%'";
else$cond=cond."AND編號like'%"&trim(request("bh"))&"%'";
}

5. PHP中關於查詢多個條件的代碼

先向大家說明需求:按照系統的要求,將通過部門名稱、員工姓名、PC名稱、IP地址等等欄位來進行組合查詢從而得到想要的數據結果。那麼,為了簡單起見,我們用兩個條件(部門名稱、員工姓名)的組合查詢來向大家說明這一技術技巧。當只輸入部門名而員工姓名為空值時,那麼部門內所有員工信息將被呈現,只有當同時限制部門與員工姓名時,才能查詢出唯一信息。

那就讓我們開始。

首先建立查詢頁面search.php,不同於上次單一條件查詢,這次需要兩個條件的組合進行查詢。

<html>
<body>
<h3>查詢</h3>
<form action="search_result.php" method="POST">
部門名稱:<input type="text" size=25 name="depart" value=""> <br><br>
員工姓名: <input type="text" size=25 name="ename" value=""> <br><br>
<input type="submit" name="提交" value="提交">
</form>
</body>
</html>
和上次一樣,我們將depart與ename的值通過Post的方法傳遞給search_result.php文件。

然後便到了這次主題的關鍵,search_result.php文件如何接受這兩個參數值,並判斷當其中一個欄位為空值時,如何將其排除查詢條件。

怎麼理解上面這句話,舉例子來說,如果我們單純地將接收參數的查詢語句寫成 select * from info where depart='部門值參數' and ename='員工姓名參數' 的話,那麼如果其中一個參數為空時我們就將得到 select * from info where depart='技術部' and ename='' ,顯然,這樣的查詢很有可能返回空的結果,因為這句查詢語句的意思就是,查詢所有技術部沒有姓名的人的數據,這不是很荒唐么,倒過來如果是 select * from info where depart='' and ename='sunec' ,那麼它的意思就是查詢員工姓名為sunec但是不屬於任何部門的人,那自然也是查詢不到結果的。

正確的做法應該是,在查詢語句中過濾掉那個為空值的的參數。比如,當輸入部門名時應該得到 select * from info where depart='技術部' 。這樣,查詢語句的意思就變成查詢所有部門為技術部員工的信息了,這就是了。
<?php
$link =mysql_connect("localhost","root","管理員密碼");
mysql_select_db("infosystem", $link);
?>

<?php

//注釋1-----------------------------
$depart=$_POST["depart"];
$ename=$_POST["ename"];

//注釋2------------------------
if($depart != null){
$a = " and depart like '%$depart%'";}

if($ename != null){
$b = " and ename like '%$ename%'";}

//注釋3---www.51qgj.com-----
$q = "SELECT * FROM info where (1=1)";
$q .=$a;
$q .=$b;

//注釋4---www.weiyin8.com-------------
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);
echo "<table>";
echo "<tr><td>部門</td><td>員工姓名</td></tr>";
while($row = mysql_fetch_object($rs)) echo "<tr><td>$row->depart</td><td>$row->ename</td></tr>";
echo "</table>";

mysql_close($link);

?>
注釋1:接收search.php通過post傳遞出的參數,把兩個參數分別存儲入變數:depart和ename。

注釋2:判斷參數是否為空,如果為空,不作任何操作。如果有參數傳出,則生成相應SQL語句。

注釋3:用追加的方法生成SQL語句。

注釋4:生成數據集,顯示數據,最後關閉資料庫連接。

6. php查詢語句和刪除語句

先說刪除,特定id的很容易,也就是 delete from 表名 where id=n;這里的表名不用多說了吧,那個n代表數字,就是id,這樣就可以把id問n的給刪除了。
查詢的話分兩種,先說單表查詢,select * from 表名 where id=n and name=『li』;這里的*,代表你要查詢的東西,比如你要查詢name和age,那就把星號換成name,age就ok,如果想把符合條件的所有欄位都查出來,那就用星號了,然後是where,後面跟的都是條件,id=n和name=li的。
多表查詢比較麻煩,方法也很多,我們公司這邊一般都是用left join,這樣的左鏈接查詢的,說起來是比較麻煩的,去網上搜搜吧,很多關於左鏈接的例子,這里就不詳細說了

7. 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();

}


更多相關文章推薦:

8. thinkphp條件查詢語句怎麼寫

where()是條件

多表就用table()

9. php 條件查詢

完全可以吧資料庫插入資料庫在是現在查詢操作,之接寫演算法 你打算讀多是詞文本?
還有你這個XML 要是很大內存 怎麼放的下。
多條件排序 循環數組。自定義排序演算法,傳值返回排序好值從新插入新的數組。

閱讀全文

與php條件查詢語句相關的資料

熱點內容
現在最流行的單片機 瀏覽:88
機頂盒刷機源碼 瀏覽:985
編碼pdf下載 瀏覽:944
隔壁同學app怎麼 瀏覽:299
c語言宏命令 瀏覽:542
php卡死源碼 瀏覽:574
time庫中的clock函數python 瀏覽:989
cad視覺移動命令怎麼打開 瀏覽:821
安卓java調用python 瀏覽:395
java標准時間 瀏覽:137
華為伺服器湖北渠道商雲主機 瀏覽:30
韓式面部護理解壓視頻 瀏覽:301
pdf換成jpg圖片 瀏覽:897
dh加密演算法 瀏覽:107
安卓手機如何隱藏微信信息提示 瀏覽:632
nodejs解壓縮 瀏覽:262
直流雙轉子壓縮機 瀏覽:952
pythonxmlstring 瀏覽:822
用私鑰加密之後可以用公鑰解密 瀏覽:788
ug如何啟動伺服器 瀏覽:444