Я хочу узнать, сколько строк находится в таблице. База данных, которую я использую, представляет собой базу данных MySQL. У меня уже есть класс Db_Table, который я использую для звонков, таких как fetchAll()
. Но мне не нужна информация из таблицы, просто количество строк. Как я могу получить счет всех строк в таблице без вызова fetchAll()
?Zend_Db: Как получить количество строк из таблицы?
ответ
$count = $db->fetchOne('SELECT COUNT(*) AS count FROM yourTable');
Вы могли бы сделать
SELECT COUNT(*)
FROM your_table
$dbo->setFetchMode(Zend_Db::FETCH_OBJ);
$sql = 'SELECT COUNT(*) AS count FROM @table';
$res = $dbo->fetchAll($sql);
// $res[0]->count contains the number of rows
Подсчет строк с fetchAll
считается вредным.
Вот как сделать это так, как Zend_Db_Select:
$habits_table = new Habits(); /* @var $habits_table Zend_Db_Table_Abstract */
$select = $habits_table->select();
$select->from($habits_table->info(Habits::NAME), 'count(*) as COUNT');
$result = $habits_table->fetchRow($select);
print_r($result['COUNT']);die;
Почему вы говорите: «Подсчет строк с fetchAll считается вредным»? – Andrew
Ну, вы загружаете весь свой стол в память ... –
Добавить возможность подсчета на ваш Zend_Db объект Для подсчета всех строк таблицы
public function count()
{
return (int) $this->_table->getAdapter()->fetchOne(
$this->_table->select()->from($this->_table, 'COUNT(id)')
);
}
Не работал с фильтрацией - см. Мой ответ ... –
Читайте снова, вопрос был не в фильтрации! –
Ах. Извините :(Если вы отредактируете свой ответ (один символ будет делать), я смогу вернуть downvote ... :) –
Правильное Зенд-способ заключается в использовании Zend_Db_Select например:
$sql = $table->select()->columns(array('name', 'email', 'status'))->where('status = 1')->order('name');
$data = $table->fetchAll($sql);
$sql->reset('columns')->columns(new Zend_Db_Expr('COUNT(*)'));
$count = $table->getAdapter()->fetchOne($sql);
Вот как это делается в Zend_Paginator. Другой вариант заключается в добавлении SQL_CALC_FOUND_ROWS
до вашего списка столбцов, а затем получить количество найденных строк с этим запросом:
$count = $this->getAdapter()->fetchOne('SELECT FOUND_ROWS()');
Что такое $ table? –
- это экземпляр Zend_Db_Table. Или это может быть Zend_Db_Adapter. Метод находится в обоих. Он возвращает Zend_Db_Table_Rowset для DbTable и массив для адаптера ... –
Этот ответ особенно полезен, если вам нужно посчитать результаты надуманного запроса, что вы потеряли исходный набор результатов ... +1 – nzn
Я вроде минимализма:
public function count()
{
$rows = $db->select()->from($db, 'count(*) as amt')->query()->fetchAll();
return($rows[0]['amt']);
}
Может использоваться в общем на все столы.
- 1. получить количество строк из подмножества из таблицы
- 2. Получить определенное количество строк из таблицы
- 3. получить правильное количество строк из таблицы
- 4. Получить количество строк таблицы прячась несколько строк
- 5. Как получить данные из другой таблицы в классе модели Zend_Db?
- 6. Как читать большое количество строк эффективно с помощью Zend_Db?
- 7. Как получить уникальное количество строк из вторичной таблицы
- 8. Как получить максимальное количество строк из таблицы с помощью LINQ
- 9. Как получить общее количество строк из таблицы mysql?
- 10. Как получить минимальное и максимальное количество из выбранных строк таблицы?
- 11. Как получить количество конкретных строк из другой таблицы в подзапросе
- 12. Как получить количество строк из плоского файла?
- 13. Как с условиями таблицы Zend_DB?
- 14. Как получить количество строк
- 15. Как получить количество строк?
- 16. Zend_Db запросов и количество строк, не отходили все вверх передний
- 17. Получить количество строк статического вида таблицы
- 18. Извлечение n количество строк из таблицы
- 19. MySql получить количество строк
- 20. Получить количество строк из div
- 21. Получить количество строк Вместе столбцов таблицы
- 22. Получить количество строк из SQLite
- 23. Пытается использовать подзапрос, чтобы получить количество строк из другой таблицы
- 24. Получить количество строк из определенной таблицы в нескольких базах данных
- 25. Как получить количество поврежденных строк из JdbcTemplate?
- 26. Как получить количество строк из resultResult?
- 27. Как получить количество строк из OdbcDataReader?
- 28. Как получить количество строк, возвращаемых из запроса?
- 29. Как получить общее количество строк из цикла?
- 30. JQuery Количество строк таблицы
+1 для fetchOne вместо fetchRow –