>  기사  >  백엔드 개발  >  PHP에서 데이터베이스 페이징 및 다중 조건 쿼리 기능을 구현하는 예제에 대한 자세한 설명

PHP에서 데이터베이스 페이징 및 다중 조건 쿼리 기능을 구현하는 예제에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-09-07 13:45:172418검색

아래 편집기는 PHP를 사용하여 데이터베이스에 액세스하여 페이징 및 다중 조건 쿼리 기능을 구현하는 예를 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리도록 하겠습니다. 편집기를 따라 살펴보겠습니다

1. 페이징 기능 구현


<body>
<table width="100%" border="1">
 <thead>
 <tr>
  <th>代号</th>
  <th>名称</th>
  <th>价格</th>
 </tr>
 </thead>
 <tbody>
  <?php
 require_once "./DBDA.class.php";  //加载数据库访问类的封装文件
 require_once "page.class.php";  //加载分页类的封装文件
 $db = new DBDA();
 $sql = "select count(*) from car";
 $arr = $db->query($szts);
 
 $page = new Page($arr[0][0],5);  //查看总数据,并每页显示的行数据
 $sql = "select * from car".$page->limit;  //拼接每页显示的数据
 $arr = $db->query($sql);
 foreach($arr as $v){
  echo "<tr>
  <td>{$v[0]}</td>
  <td>{$v[1]}</td>
  <td>{$v[2]}</td>
 </tr>";
 }
 ?> 
 </tbody>
</table>

<p style="margin-top:20px">
 <?php
 echo $page->fpage();  //调用分页类的方法
 ?>
</p>
</body>

2 다중 조건 쿼리 기능 구현


<body>
<?php
require_once "./DBDA.class.php";
require_once "page.class.php";
$db = new DBDA();

//做一个恒成立的条件
$tj = " 1=1 ";
$tj2 = " 1=1 ";
$name = " ";
$brand = " ";
//当提交的数据不为空,需要改条件
if(!empty($_GET["name"])){
 $name = $_GET["name"];
 $tj = " name like &#39;%{$name}%&#39; ";  //使用模糊查询查询关键信息
}
if(!empty($_GET["brand"])){
 $brand = $_GET["brand"];
 $tj2 = " brand = &#39;{$brand}&#39; ";
}

?>
<table width="100%" border="1">
<form action="test.php" method="get">
 <input type="text" name="name" placeholder="请输入名称" value="<?php echo $name ?>" style="max-width:200px; float:left">
 <input type="text" name="brand" placeholder="请输入系列" value="<?php echo $brand ?>" style="max-width:200px; float:left">
 <button type="submit" style="float:left; margin-left:10px">查询</button>
 </form>
 <thead>
 <tr>
  <th>代号</th>
  <th>名称</th>
  <th>系列</th>
  <th>时间</th>
  <th>价格</th>
 </tr>
 </thead>
 <tbody>
  <?php
 $zts = "select count(*) from car where {$tj} and {$tj2}";  //多条件查询数据总数
 $ats = $db->query($arr);
 $page = new Page($ats[0][0],2);
 
 $sql = "select * from car where {$tj} and {$tj2} ".$page->limit;
 $arr = $db->query($sql);
 foreach($arr as $v){
  //给查询的关键字加字体颜色
  $n = str_replace($name,"<span style=&#39;color:red&#39;>{$name}</span>",$v[1]);  
  echo "<tr>
  <td>{$v[0]}</td>
  <td>{$n}</td>
  <td>{$v[2]}</td>
  <td>{$v[3]}</td>
  <td>{$v[7]}</td>
 </tr>";
 }
 ?> 
 </tbody>
</table>
<p>
<?php
echo $page->fpage();
?>
</p>
</body>

위 내용은 PHP에서 데이터베이스 페이징 및 다중 조건 쿼리 기능을 구현하는 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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