溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php中查詢及多條件查詢的示例分析

發(fā)布時(shí)間:2021-07-22 11:23:56 來(lái)源:億速云 閱讀:167 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)php中查詢及多條件查詢的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

單條件查詢:

1.先要有一張表,顯示出表中的數(shù)據(jù):

<!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>無(wú)標(biāo)題文檔</title>
</head>

<body>
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="200">編號(hào)</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>

上圖:

php中查詢及多條件查詢的示例分析

啥都沒(méi)改的一張表

2.再來(lái)個(gè)from表單,讓用戶輸入,點(diǎn)擊查詢:

<form action="shouye.php" method="post">
  <div>
    輸入名字:<input type="text" name="name"/>
    <input type="submit" value="查詢"/>

  </div>

</form>

如圖:

php中查詢及多條件查詢的示例分析

3.建立關(guān)鍵字查詢:

<?php
  //實(shí)現(xiàn)兩個(gè)邏輯
  //1.如果沒(méi)有post數(shù)據(jù).查所有的
  //2.如果有post數(shù)據(jù).根據(jù)條件查
  $db = new mysqli("localhost","root","12345678","heiheihei");
  //連接數(shù)據(jù)庫(kù)
  $tj = " 1 = 1 ";
  $name="";
  //恒成立,如果沒(méi)有寫(xiě)數(shù)據(jù),那就讓條件等于1=1,這個(gè)條件是查找所有的數(shù)據(jù)
  //如果你寫(xiě)入數(shù)據(jù),按照數(shù)據(jù)查
  if(!empty($_POST))
  {
    $name = $_POST['name'];
    $tj = " name like '%{$name}%'";
  }
  //將條件拼接到SQl語(yǔ)句
  $sql = "select * from contacts WHERE {$tj}";
  echo $sql;

  //查出來(lái)
  $r = $db->query($sql);
  //傳值
  if($r)
    //開(kāi)始判斷
  {
    //$attr已經(jīng)接收到了值,現(xiàn)在只需要獲取他的索引就行了
    while ($attr = $r->fetch_row())
    {
      //關(guān)鍵字特殊查詢

     $str = str_replace($name,"<mark>{$name}</mark>",$attr[1]);  //查找替換如ctrl+f
      //substr_replace();     在指定位置替換
      //substr();    截取字符串

      $gname = "select gname from groups WHERE gid='{$attr[3]}'";
      //分組表中的gid,和我點(diǎn)擊的
      $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的語(yǔ)句:

<?php
  //實(shí)現(xiàn)兩個(gè)邏輯
  //1.如果沒(méi)有post數(shù)據(jù).查所有的
  //2.如果有post數(shù)據(jù).根據(jù)條件查
  $db = new mysqli("localhost","root","12345678","heiheihei");
  //連接數(shù)據(jù)庫(kù)
  $tj1 = " 1 = 1 ";
  $tj2 = " 1 = 1 ";//兩個(gè)條件的恒等
  $name="";
  //恒成立,如果沒(méi)有寫(xiě)數(shù)據(jù),那就讓條件等于1=1,這個(gè)條件是查找所有的數(shù)據(jù)
  //如果你寫(xiě)入數(shù)據(jù),按照數(shù)據(jù)查
  if(!empty($_POST["name"])) //第一個(gè)條件的判斷(用到了模糊查詢)
  {
    $name = $_POST['name'];
    $tj1 = " name like '%{$name}%'";
  }
  if(!empty($_POST["tel"]))
  {
    $tel = $_POST["tel"];
    $tj2 = "tel = '$tel'";
  }
  //將條件拼接到SQl語(yǔ)句
  $sql = "select * from contacts WHERE {$tj1} AND {$tj2}";

效果圖:

php中查詢及多條件查詢的示例分析

這樣:有幾個(gè)條件就做幾個(gè)條件變量,第一個(gè)條件不為空就執(zhí)行的第一個(gè)條件,第二個(gè)條件不為空?qǐng)?zhí)行的第二個(gè)條件,兩個(gè)都為空就是查尋所有的數(shù)據(jù)。

關(guān)于“php中查詢及多條件查詢的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI