php查詢及多條件查詢

來源:互聯網
上載者:User
單條件查詢:

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}";


這樣:有幾個條件就做幾個條件變數,第一個條件不為空白就執行的第一個條件,第二個條件不為空白執行的第二個條件,兩個都為空白就是查尋所有的資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.