Heim  >  Artikel  >  php教程  >  ZF框架Db类select查询器简单用法&分页

ZF框架Db类select查询器简单用法&分页

PHP中文网
PHP中文网Original
2016-05-25 17:13:431207Durchsuche

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>";
?>

                   

                   

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn