有沒有辦法獲得Zend數據庫中的總行數,就像在普通的mysql查詢中使用SQL_CALC_FOUND_ROWS一樣。除了在沒有限制條款的情況下運行相同的查詢外,我一直無法找到類似的功能。在Zend DB表中使用SQL_CALC_FOUND_ROWS獲取總行數
3
A
回答
2
因爲沒有其他人有更好的提供,我會建議在ZF論壇上看到this post。從2008年開始,ZF可能會從此升級。
11
$db->select()
->from($tableName, array(
new Zend_Db_Expr('SQL_CALC_FOUND_ROWS id'),
'name',
'price'
));
您也可以嘗試用COUNT(*)替換所有的cols和運行查詢第二次。它可能實際上更有效率(即使它是反直覺的)。這是我的應用程序的情況。
你可以這樣說:
$select->reset('cols')->reset('limit')->cols('COUNT(*)'); //there is a constant for the 'cols' in Select class
$db->query($select);
0
使用此方法,如果還需要
$rows = $db->select()->from('foo')->query()->fetchAll();
echo 'Total number of rows found : ' . count($rows);
如果你只需要行的總數的計數,然後
行內數據$count = $db->select()->from('foo','COUNT(*)')->query()->fetchColumn();
相關問題
- 1. 如何在Zend \ Db \ TableGateway中使用SQL_CALC_FOUND_ROWS
- 2. 使用'SQL_CALC_FOUND_ROWS'和Doctrine NativeQuery來獲取總行數
- 3. Zend Db表和設置獲取模式
- 4. 使用Zend DB框架僅從MySQL獲取一行
- 5. 在表模型中獲取默認的zend db適配器
- 6. PHP Zend - 執行獲取行集和記錄總數
- 7. Zend \ Db \ Sql \ Sql行數組
- 8. 使用LIMIT時獲取總行數?
- 9. 在oracle中使用查詢獲取表名和它們的行數db
- 10. 在zend lucene搜索中獲取查詢的總記錄數?
- 11. 如何將數據添加到使用ZF獲取的db行?
- 12. 使用Zend Framework沒有MVC的Db表
- 13. 使用Zend DB選擇DATE_FORMAT表
- 14. 獲取表格的總行數
- 15. 爲Zend的DB行
- 16. SQL獲取DB中特定表的錶行數
- 17. 使用zend函數從表中獲取不同的記錄?
- 18. 使用Zend框架時從多個表中獲取數據?
- 19. Zend的Db的joinLeft使用參數值
- 20. 使用Zend \ Db連接到數據庫
- 21. Zend DB fetchAll():其中數組
- 22. Zf2使用Zend \ Db \ Sql \ Select
- 23. zend expressive - zend db
- 24. 在Zend Framework中獲取選定的行
- 25. 獲取代碼行總數?
- 26. 使用zend從數據庫獲取列
- 27. mysql獲取加總行數
- 28. 如何使用java在redis db中獲取哈希列表?
- 29. 使用jquery ajax動態地在表單中獲取db值
- 30. 如何在zend框架中從控制器調用db錶行類的函數?
雖然它的工作效率非常低,特別是如果你使用MySQL。使用calc_rows可以保存大量數據的檢索,以找出有多少條目沒有任何分頁限制。爲了使它獨立於數據庫,你也可以實現一個單獨的COUNT查詢。 – 2011-09-12 11:33:39
有效的方式添加我雖然需要總行數 – 2011-09-12 11:45:03