phpmysqlwhereand
SELECT * FROM table WHERE `jishu` BETWEEN 2014001 AND 2015100
② php mysql 查詢指定表 以兩個欄位做為條件 最後輸出所查詢欄位
mysql_connect('127.0.0.1','root','root');
mysql_select_db('資料庫名');
mysql_query('set names gbk');
$query = mysql_query("select a from aaa whee b=5 and c=6");
while($rs = mysql_fetch_assoc($query)){
echo $rs['a'],'<br>';
}
③ 請教一個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();
④ PHP+mysql的復合多條件查詢
這個問題簡單,如果不用JS的話,可以用GET變數傳入
例:c.php為顯示文件,當點擊地區,則在文件後加入地區代碼
c.php?dq=北京
這樣獲取地區的值進行查詢,選擇地區後,再點價格URL則變為:
c.php?dq=北京&jg=5000
這樣再加入第二個條件價格查詢就好了。
如果有第三個條件 則以此類推。
⑤ php+mysql模糊查詢功能
一般模糊查詢語句如下:
SELECT 欄位 FROM 表 WHERE 某欄位 Like 條件
其中關於條件,SQL提供了四種匹配模式:
1,% :表示任意0個或多個字元。可匹配任意類型和長度的字元,有些情況下若是中文,請使用兩個百分號(%%)表示。
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
將會把u_name為「張三」,「張貓三」、「三腳貓」,「唐三藏」等等有「三」的記錄全找出來。
另外,如果需要找出u_name中既有「三」又有「貓」的記錄,請使用and條件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%貓%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%貓%'
雖然能搜索出「三腳貓」,但不能搜索出符合條件的「張貓三」。
2,_ : 表示任意單個字元。匹配單個任意字元,它常用來限製表達式的字元長度語句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出「唐三藏」這樣u_name為三個字且中間一個字是「三」的;
再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出「三腳貓」這樣name為三個字且第一個字是「三」的;
3,[ ] :表示括弧內所列字元中的一個(類似正則表達式)。指定一個字元、字元串或范圍,要求所匹配對象為它們中的任一個。
比如 SELECT * FROM [user] WHERE u_name LIKE '[張李王]三'
將找出「張三」、「李三」、「王三」(而不是「張李王三」);
如 [ ] 內有一系列字元(01234、abcde之類的)則可略寫為「0-4」、「a-e」
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
將找出「老1」、「老2」、……、「老9」;
4,[^ ] :表示不在括弧所列之內的單個字元。其取值和 [] 相同,但它要求所匹配對象為指定字元以外的任一個字元。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^張李王]三'
將找出不姓「張」、「李」、「王」的「趙三」、「孫三」等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
將排除「老1」到「老4」,尋找「老5」、「老6」、……
5,查詢內容包含通配符時
由於通配符的緣故,導致我們查詢特殊字元「%」、「_」、「[」的語句無法正常實現,而把特殊字元用「[ ]」括起便可正常查詢。據此我們寫出以下函數:
function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
⑥ ThinkPHP 中mysql where($where)查詢的問題
您好,使用快捷查詢
加入$map['_logic'] = 'OR';
或
$map['id|receiverid'] = array(session('uid'),array('in', implode(",",$idset)),'_multi'=>true);
以上方法等效。
當且與或並存時可以用復合查詢,如以下多了一個name
$map['receiverid'] = session('uid');
$map['id'] = array('in', implode(",",$idset));
$map['_logic'] = 'OR';
$where['name'] = 'abc';
$where['_complex'] = $map;
M('message') -> where($where)->select();
將生成:
WHERE (`receiverid` = 1 OR `id` IN ('13','12','10','9')) AND `name`='abc'。
⑦ 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/>";
//等等
}
?>
⑧ php多條件查詢mysql並輸出的問題
php查詢mysql 多條件判斷輸出顯示
背景:
從mysql查詢各欄位值輸出並且按照條件用紅色字體顯示滿足條件欄位值。
條件:
1.syntime小於當前前一周時間的話顯示紅色。
2.A欄位為"無"的話,顯示紅色。
3.B欄位為"無"的話,顯示紅色。
圖一資料庫結構:
php查詢mysql 多條件判斷輸出展示 三聯
圖二資料庫各欄位值:
我的代碼:(我只滿足了第一個條件,其餘兩個條件不知道該怎麼來寫)
$sql = "select username, onoff, intime, syntime, device, a,b,person,dtime from cdmobile order by username desc ";
$rst = mysql_query($sql);
while($row=mysql_fetch_array($rst)){
$nowtime=strtotime('+7 day');
$syntime=strtotime($row['syntime']) ;
if($nowtime>=$syntime){
echo "{$row['username']}{$row['onoff']}{$row['intime']}{$row['syntime']}{$row['device']}
>{$row['a']}{$row['b']}{$row['person']}{$row['dtime']}";
}
else
echo "{$row['username']}{$row['onoff']}{$row['intime']}{$row['syntime']}{$row['device']}{$row['a']}{$row['b']}{$row['person']}{$row['dtime']}";
}
請各位大嬸幫忙完善一下代碼。要能同時滿足三個條件的,並且能正確輸出,該顯示紅色的地方顯示紅色。以下是目前的結果:
------解決方案--------------------
echo "{$row['username']}{$row['onoff']}{$row['intime']}";
if ($nowtime>=$syntime)
echo "{$row['syntime']}";
else
echo "{$row['syntime']}";
echo "{$row['device']}";
if ($row['a' ]== "無")
echo "{$row['a']}";
else
echo "{$row['a']}";
if ($row['b'] == "無")
echo "{$row['b']}";
else
echo "{$row['b']}";
echo "{$row['person']}{$row['dtime']}";
糾正下