zf框架db类的分页示例分享

   2015-11-02 0
核心提示:这篇文章主要介绍了zf框架db类的分页示例,代码很简单,大家看一下注释就可以使用了

zf框架的分页示例

复制代码 代码如下:

<?php
isset($_GET['page']) ? $page = $_GET['page'] : $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('host' => '127.0.0.1' ,
    'username' => 'root' ,
    'password' => '111' ,
    'dbname' => 'test',
    'profiler' => "true"
    );
//告诉Zend_Db类所操作的数据库和数据库配置信息
$Db = Zend_Db::factory('PDO_Mysql' , $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('sanguo',array('s_sheng as 省份','sum(s_gongzi) as 总工资','min(s_gongzi) as 最低工资','max(s_gongzi) as 最高工资','avg(s_gongzi) as 平均工资'));
// $Select -> Where('s_gongzi>=3000');
// $Select -> Where("s_sheng='河北'");
// $Select -> order('s_sheng asc');
// $Select -> order('s_gongzi desc');
$Select -> group('s_sheng');  //分组
//$Select -> having('最高工资>10000');  //附加条件
$Select -> order('最高工资 desc');  //排序
$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='1' align='center' width='960' style='text-align:center'>";
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='5'>";
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>";
?>

 
标签: zf框架 分页
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行