使用DbSelect和DbTableSelect适配器进行分页

时间:2012-11-28 10:31:21

标签: php zend-framework

我是zend框架的初学者......直到现在我通过从DB获取所有细节来进行分页。我的朋友说这不是分页的好方法.... 他给了我以下来自Zend网站的参考资料......现在我有些疑惑...... 1.什么是setRowCount?它是表中的一个字段吗? 2. item_counts和RowCount是什么? 我的DB名称是sreejith。 我的表名是员工。 代码是:

 $adapter = new Zend_Paginator_Adapter_DbSelect($db->select()->from('posts'));
    $adapter->setRowCount(
    $db->select()
    ->from(
   'item_counts', array(Zend_Paginator_Adapter_DbSelect::ROW_COUNT_COLUMN => 'post_count')
    )
    );
    $paginator = new Zend_Paginator($adapter);

1 个答案:

答案 0 :(得分:0)

OP代码粘贴自: http://framework.zend.com/manual/1.12/en/zend.paginator.usage.html

该示例显示了优化如何计算总行数的能力(执行分页所需,至少可以呈现UI导航)。

正如它所说,"例如,如果您在单独的表中跟踪博客帖子的数量,您可以通过以下设置实现更快的计数查询:"。

查看将Zend_Db_Select传递给工厂的更简单的示例......如:Zend_Paginator::factory() - 这可能是您所需要的全部内容。