>  기사  >  백엔드 개발  >  PHP는 쿼리 및 다중 조건 쿼리를 구현합니다.

PHP는 쿼리 및 다중 조건 쿼리를 구현합니다.

墨辰丷
墨辰丷원래의
2018-05-25 14:12:4812686검색

이 글은 PHP를 사용하여 단일 조건 및 다중 조건 쿼리를 구현하는 코드와 예제를 공유합니다. 도움이 필요한 친구는 이를 참조할 수 있습니다.

단일 조건 쿼리:

1. 테이블에 데이터를 표시하려면 테이블이어야 합니다.

<!DOCTYPE html>
<html>
<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. 양식에서 다른 테이블을 만들고 사용자가 입력하도록 하고 쿼리를 클릭하세요.

<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[&#39;name&#39;];
    $tj = " name like &#39;%{$name}%&#39;";
  }
  //将条件拼接到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=&#39;{$attr[3]}&#39;";
      //分组表中的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[&#39;name&#39;];
    $tj1 = " name like &#39;%{$name}%&#39;";
  }
  if(!empty($_POST["tel"]))
  {
    $tel = $_POST["tel"];
    $tj2 = "tel = &#39;$tel&#39;";
  }
  //将条件拼接到SQl语句
  $sql = "select * from contacts WHERE {$tj1} AND {$tj2}";

렌더링:


이 방법: 여러 조건이 있는 경우 여러 조건 변수를 만들고 첫 번째 조건이 다음과 같으면 첫 번째 조건이 실행됩니다. 두 번째 조건이 비어 있지 않으면 두 번째 실행 조건이 모두 비어 있으면 모든 데이터가 검색됩니다. 위의 내용은 모든 사람의 연구에 도움이 되기를 바랍니다.

관련 권장 사항:


php 페이징을 구현하는 간단한 방법

query

P페이지에서 exec() 함수를 사용하여 페이징
query

php를 구현하는 방법 DO
문의

실행 후 영향을 받는 행 수를 확인하는 방법


위 내용은 PHP는 쿼리 및 다중 조건 쿼리를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.