search
Homephp教程PHP源码ZF框架Db类select查询器简单用法&分页

1. [代码][PHP]代码

<?php
/*查询器的使用方法*/

isset($_GET[&#39;page&#39;]) ? $page = $_GET[&#39;page&#39;] : $page = 1;


//引入Loader类(自动加载类)
require_once("Zend/Loader.php");
//使用Loader类引入一个Db类
Zend_Loader::loadClass("Zend_Db");
//引入Zend_Db的状态器
Zend_Loader::loadClass("Zend_Db_Statement_Pdo");
//配置数据库连接信息
$Config = array(&#39;host&#39; => &#39;127.0.0.1&#39; ,
				&#39;username&#39; => &#39;root&#39; , 
				&#39;password&#39; => &#39;111&#39; , 
				&#39;dbname&#39; => &#39;test&#39;,
				&#39;profiler&#39; => "true"
				);
//告诉Zend_Db类所操作的数据库和数据库配置信息
$Db = Zend_Db::factory(&#39;PDO_Mysql&#39; , $Config); 
//执行编码语句 
$Db -> query("set names utf8");
//-----------------------------------------------
//使用fetchOne()方法得出表的总条数
$Total = $Db -> fetchOne("select count(*) from gongsi");
//定义每页显示条数
$B = 50;
//得出总页数
$A = ceil($Total/$B);

//-----接下来为一系列的查询表、取结果集、分页等操作
$Select = $Db ->select();
$Select -> from(&#39;sanguo&#39;,array(&#39;s_sheng as 省份&#39;,&#39;sum(s_gongzi) as 总工资&#39;,&#39;min(s_gongzi) as 最低工资&#39;,&#39;max(s_gongzi) as 最高工资&#39;,&#39;avg(s_gongzi) as 平均工资&#39;));
// $Select -> Where(&#39;s_gongzi>=3000&#39;);
// $Select -> Where("s_sheng=&#39;河北&#39;");
// $Select -> order(&#39;s_sheng asc&#39;);
// $Select -> order(&#39;s_gongzi desc&#39;);
$Select -> group(&#39;s_sheng&#39;);  //分组
//$Select -> having(&#39;最高工资>10000&#39;);  //附加条件
$Select -> order(&#39;最高工资 desc&#39;);  //排序
$Select -> limit(0,0); //截取
$Select -> limitPage($page, $B); //分页
/*SQL语句相当于:
select s_sheng as 省份,sum(s_gongzi) as 最高工资 from sanguo group by s_sheng having 最高工资>10000 order by 最高工资 desc limit 0,10;
*/
$Result = $Db->fetchAll($Select);

echo "<table border=&#39;1&#39; align=&#39;center&#39; width=&#39;960&#39; style=&#39;text-align:center&#39;>";
echo "<tr><th>省份</th><th>总工资</th><th>最低工资</th><th>最高工资</th><th>平均工资</th></tr>";
foreach ($Result as $key => $value) 
{
	echo "<tr>";
	foreach ($value as $key2 => $value2) 
	{
		echo "<td>" . $value2 . "</td>";
	}
	echo "</tr>";
}
echo "<tr>";
echo "<td colspan=&#39;5&#39;>";
echo "<a href=?page=1>首页</a>  ";
if ($page>1) 
{
	echo "<a href=?page=". ($page-1) .">上页</a>  ";
}
for ($i=1; $i <=15 ; $i++) 
{ 
	echo "<a href=?page=$i>".$i."</a>  ";
}
if ($page<$Total) 
{
	echo "<a href=?page=". ($page+1) .">下页</a>  ";
}
echo "<a href=?page=" . $A .">末页</a>";
echo "</td>";
echo "</tr>";
echo "</table>";
?>

                   

                   

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.