Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在普通sql查询中使用zend paginate而不是zend_db_select_Php_Mysql_Zend Framework_Zend Paginator - Fatal编程技术网

Php 如何在普通sql查询中使用zend paginate而不是zend_db_select

Php 如何在普通sql查询中使用zend paginate而不是zend_db_select,php,mysql,zend-framework,zend-paginator,Php,Mysql,Zend Framework,Zend Paginator,因此,基本上您可以通过以下方式使用zendpaginate: $sql = new Zend_Db_Select($db); $sql->from(table); $sql->where(zend_db_select_sucks = 1); $paginator = Zend_Paginator::factory($sql); 是否有一种使用paginator的方法,使您可以自己设置$sql,而无需使用zend\u db\u select 那就 $sql = "SELECT *

因此,基本上您可以通过以下方式使用
zend
paginate:

$sql = new Zend_Db_Select($db);
$sql->from(table);
$sql->where(zend_db_select_sucks = 1);

$paginator = Zend_Paginator::factory($sql);
是否有一种使用paginator的方法,使您可以自己设置
$sql
,而无需使用
zend\u db\u select

那就

$sql = "SELECT * FROM table WHERE zend_db_select_sucks = 1"

$paginator = Zend_Paginator::factory($sql);

分页器工厂的目的不是也可以向它传递一个行集,并且它也会分页吗?我只是尝试了一下,它似乎对我有效(尽管我通常使用Zend_Db_Select)


在将SQL查询字符串传递给任何其他对象之前,必须将其包装在
query()
中,否则ZF不知道您在告诉它什么

$db = new Application_Model_DbTable_Example(); // if you've created a model for your db
$select = $db->query("SELECT * FROM table WHERE value='varstring'")->fetchAll;
然后你可以把它寄给paginator

$db = new Application_Model_DbTable_Example(); // if you've created a model for your db
$select = $db->query("SELECT * FROM table WHERE value='varstring'")->fetchAll;