sql查詢欄位多條件的實作方法:先連接資料庫;然後使用SQl的「select from...WHERE....」語句進行資料庫的單一條件和多條件查詢即可。
本文給大家分享的是使用php+mysql實作單一條件以及多條件查詢的程式碼及範例,非常實用,有需要的小夥伴可以參考下
相關mysql影片教學推薦:《mysql教學》
單一條件查詢:
1.先有一張表,顯示出表中的資料:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <table border="1" cellspacing="0" cellpadding="0"> <tr> <td width="200">编号</td> <td width="200">姓名</td> <td width="200">电话</td> <td width="200" >分组</td> </tr> <?php $db = new mysqli("localhost","root","12345678","heiheihei"); $sql = "select * from contacts"; $r = $db->query($sql); //传值 while ($attr = $r->fetch_row()) { echo " <tr> <td>{$attr[0]}</td> <td>{$attr[1]}</td> <td>{$attr[2]}</td> <td>{$attr[3]}</td> </tr>"; } ?> </table> </body> </html>
上圖:
#啥都沒改的一張表
##2 .再來個from表單,讓使用者輸入,點選查詢:<form action="shouye.php" method="post"> <p> 输入名字:<input type="text" name="name"/> <input type="submit" value="查询"/> </p> </form>如圖: 3.建立關鍵字查詢:
<?php //实现两个逻辑 //1.如果没有post数据.查所有的 //2.如果有post数据.根据条件查 $db = new mysqli("localhost","root","12345678","heiheihei"); //连接数据库 $tj = " 1 = 1 "; $name=""; //恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据 //如果你写入数据,按照数据查 if(!empty($_POST)) { $name = $_POST['name']; $tj = " name like '%{$name}%'"; } //将条件拼接到SQl语句 $sql = "select * from contacts WHERE {$tj}"; echo $sql; //查出来 $r = $db->query($sql); //传值 if($r) //开始判断 { //$attr已经接收到了值,现在只需要获取他的索引就行了 while ($attr = $r->fetch_row()) { //关键字特殊查询 $str = str_replace($name,"<mark>{$name}</mark>",$attr[1]); //查找替换如ctrl+f //substr_replace(); 在指定位置替换 //substr(); 截取字符串 $gname = "select gname from groups WHERE gid='{$attr[3]}'"; //分组表中的gid,和我点击的 $nresult = $db->query($gname); $gname = $nresult->fetch_row(); $nation = $gname[0]; echo " <tr> <td>{$attr[0]}</td> <td>{$str}</td> <td>{$attr[2]}</td> <td>{$nation}</td> ?>圖: 多重條件查詢:前面照舊;出了php的語句:
<?php //实现两个逻辑 //1.如果没有post数据.查所有的 //2.如果有post数据.根据条件查 $db = new mysqli("localhost","root","12345678","heiheihei"); //连接数据库 $tj1 = " 1 = 1 "; $tj2 = " 1 = 1 ";//两个条件的恒等 $name=""; //恒成立,如果没有写数据,那就让条件等于1=1,这个条件是查找所有的数据 //如果你写入数据,按照数据查 if(!empty($_POST["name"])) //第一个条件的判断(用到了模糊查询) { $name = $_POST['name']; $tj1 = " name like '%{$name}%'"; } if(!empty($_POST["tel"])) { $tel = $_POST["tel"]; $tj2 = "tel = '$tel'"; } //将条件拼接到SQl语句 $sql = "select * from contacts WHERE {$tj1} AND {$tj2}";效果圖: 這樣:有幾個條件就做幾個條件變量,第一個條件不為空就執行的第一個條件,第二個條件不為空執行的第二個條件,兩個都為空就是要查尋所有的資料
以上是php+mysql如何實作條件查詢? (程式碼實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!