php多條件語句
一般方法是這樣的:
$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();
B. php中能實現條件控制的語句有哪些
條件控制是指根據表達式的返回值為真(true或非0或非空)還是假(false或0或空)決定後續執行語句的關鍵字,包括
if,elseif,else 如
if(true){
echo'Yes';
}
if($n>0){
echo'Yes';
}else{
echo'No';
}
if($n%3>1){
echo2;
}elseif($n%3>0){//elseif可重復
echo1;
}else{
echo0;
}
以及 switch, case語句,如
switch($n%3){
case2:
echo2;
break;
case1:
echo1:
break;
default:
echo0;
break;
}
switch和if, elseif, else實際上功能相似,只是寫法不同。
while和do, while,for, foreach 是條件循環控制語句,就不舉例了。
另外三元操作符 ?:, 如 ($n > 0) ? echo 'True' : echo 'False'; 相當於if else的簡化版本。
C. php條件語句寫法,多條語句的判斷怎麼寫呢
if($a > 0 || $a == 0) $a 大於0 或 等於0 時做什麼;
if($a > 0 && $a != 25) $a大於0 與不等於25時做什麼;
D. 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:生成數據集,顯示數據,最後關閉資料庫連接。
E. php if語句,多個條件的問題
你的$_SESSION['adm'] $_SESSION['username'] 都 沒有接收到值 所以if語句不走
你在頁面開始 加上session_start(); 要不你也用不了session啊。
F. 條件控制語句PHP有哪幾種
條件控制是指根據表達式的返回值為真(true或非0或非空)還是假(false或0或空)決定後續執行語句的關鍵字,包括
if,elseif,else 如
if(true){
echo'Yes';
}
if($n>0){
echo'Yes';
}else{
echo'No';
}
if($n%3>1){
echo2;
}elseif($n%3>0){//elseif可重復
echo1;
}else{
echo0;
}
以及 switch, case語句,如
switch($n%3){
case2:
echo2;
break;
case1:
echo1:
break;
default:
echo0;
break;
}
switch和if, elseif, else實際上功能相似,只是寫法不同。
while和do, while,for, foreach 是條件循環控制語句,就不舉例了。
另外三元操作符?:, 如 ($n > 0) ? echo 'True' : echo 'False'; 相當於if else的簡化版本。
G. php+mysql多條件多值查詢
PHP+Mysql多條件多值查詢示例代碼:
index.html代碼:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>SQL多條件查詢示例</title>
</head>
<body>
<formmethod="post"action="deal.php">
<h1>房屋出租</h1>
房屋類型:<selectname="type">
<optionvalue="1">一居室</option>
<optionvalue="2">二居室</option>
<optionvalue="3">三居室</option>
</select><br/>
面積:<inputname="area"type="text"/><br/>
地址:<inputname="addr"type="text"/><br/>
<inputname="btn"type="submit"value="搜索"/><br/>
</form>
</body>
</html>
deal.php文件:
<?php
//連接資料庫
$conn=mysql_connect("localhost","root","");
//選擇資料庫
$db=mysql_select_db("資料庫名");
//接收參數
$type=$_POST['type'];
$area=$_POST['area'];
$addr=$_POST['addr'];
//SQL語句主題
$query="select*fromroomwhere";
//根據條件和傳的值拼接sql語句
//判斷面積不為空
if($type!=""){
//然後根據具體面積分情況拼接
switch($type){
case1:
//一居室
$query.="room_type=1";
break;
case2:
$query.="room_type=2";
break;
case3:
$query.="room_type=3";
break;
}
}
//面積
if($area!=""){
$query.="andarea={$area}";
}
//地址
if($addr!=""){
$query.="andaddrlike'%{$addr}%'";//地址
}
//執行查詢
$result=mysql_query($query);
//遍歷結果
echo"搜搜結果如下:";
while($row=mysql_fetch_array($result)){
echo"地址:".$row['addr'];
echo"<br/>";
echo"面積:".$row['area'];
echo"<br/>";
echo"居室:".$row['type'];
echo"<br/>";
echo"價格:".$row['addr'];
echo"<br/>";
//等等
}
?>
H. php if多條件
===三等號代表全匹配,除非是同值同類型同引用,否則基本都是判斷為假。其實可以省略為
if (!stristr($_GET['url'], 'a.com'))即可
I. php if 多條件判斷
我在想,你為什麼不直接用
$a=strlen("abcde","UTF8");
echo"這是$a位的內容";
J. php 搜索 多條件語句怎麼寫
不知道你有沒有存外鍵有的話
SELECT*fromaasa1leftjoinbasb1ona1.id=b1.idleftjoincasc1onb1.id=c1.idwheredwlike'%xxx%'