Каким будет правильный способ узнать и отобразить количество записей в таблице, соответствующих определенному условию?
Я пробовал следующее, чтобы показать количество записей без каких-либо условий, но ничего не показывает.
<?php
$sql = "SELECT * FROM avisos";
$result = mysql_query($sql);
$numero = mysql_num_rows($result);
echo 'Número de total de registros: ' . $numero;
?>
Считать
Подсчитать записи в таблице по определенным условиям можно несколькими способами. Наиболее распространенным является использование
COUNT(*)
.Например, если вы хотите подсчитать все записи в таблице:
Этот запрос вернет столбец (которому мы дали псевдоним
total
) с количеством строк, существующих в таблице.Использование критериев применяется как обычно, поскольку это такой же запрос, как и любой другой.
Например, если вы хотите подсчитать записи, чей
id
размер больше7
:Критерии могут применяться любые, как это обычно и делается.
PHP-код
Что касается кода PHP, я отвечаю на ваш вопрос, указывая, как это будет сделано с расширением
mysql_*
, зная, что оно объявлено устаревшим 1 . Рекомендуется перейти кmysqli
или кPDO
, так как с помощью этой функции может быть нарушена безопасность данных и поскольку этот код не будет работать, начиная с PHP 7.► Использование
mysql
Вы можете использовать
mysql_fetch_assoc
:► Использование
mysqli
Переход от
mysql
amysqli
практически незаметен.Вы бы создали соединение следующим образом:
$mysqli
будет объектом подключения, который вы будете использовать позже в коде.И чтобы запустить тот же код, что и выше, у вас есть две возможности:
А. Процедурный режим
B. Объектно-ориентированный режим
Хотя процедурный режим очень похож на обычный способ его использования, из-за старого расширения я бы рекомендовал вам изучить объектно-ориентированный стиль. Он более современный и адаптирован к нынешнему времени.
ПРИМЕЧАНИЕ. Как правило, результаты с методами
fetch
считываются в цикле,while
в котором просматривается набор результатов, возвращаемых запросом. Цикл здесь не используется, потому что в результатах ожидается одна строка, и в этих случаях к ней можно получить доступ без циклического просмотра результатов.► Использование
PDO
PDO
имеет методfetchColumn()
, который мы можем использовать для случаев, когда мы ожидаем, что в результате будет один столбец.Оценки
Рассмотрим следующий вариант подсчета по группам, то есть, если у вас есть база данных одежды, подсчитайте, сколько у вас одежды по типам одежды, например, рубашки, брюки и т. д.
$sql = " выберите
ropa
, COUNT (*) изinventario
группы поropa
;