PHP

Подсчёт количества строк в таблице MySQL

Всем нам наверняка приходилось подсчитать количество строк в той или иной таблице,или выборке.

Сделать это можно различными способами. В той или иной ситуации можно использовать любой из этих способов.

Рассмотрим самый простой способ.

Просто сделаем выборку и при переборе всех строк накрутим счётчик, который и будет содержать количество строк.

$i=0;
$sql='select * from `table`';
$res=mysql_mysql_query($sql);
while($row=mysql_fetch_assoc($res)){
$i++;
}
echo 'В таблице '.$i.' строк';

Недостаток данного метода-это извлечение значений всех столбцов таблицы(когда нам это не надо).

Использовать такой подход можно в том случае, когда при обходе таблицы базы данных вы совершаете другие операции.

Например нам надо извлечь имена пользователей и сложить их в массив:
$i=0;
$sql='select name from `users`';
$res=mysql_mysql_query($sql);
while($row=mysql_fetch_assoc($res)){
        $users_name[]=$row['name'];
        $i++;
}
echo 'В таблице '.$i.' пользователей';

Таким образом мы убили двух зайцев: сформировали массив и подсчитали количество строк. Также обратите внимание на то, что из таблицы мы извлекали только поле name, а не *. Старайтесь всегда извлекать только нужные вам поля,т.к. при больших объёмах данных это будет играть существенную роль.

В конкретном случае можно подсчитать и количество элементом массива $users_name[] функцией count.
$count_users = count($users_name);

Второй метод. Использование функции mysql_num_rows.

Посчитаем количество животных в таблице pets.
$sql='select * from `pets`';
$res=mysql_query($sql);
$count_pets = mysql_num_rows($res);
echo 'В таблице '.$count_pets.' животных';

Третий способ.

Найдем количество автомобилей в таблице cars.
$sql='select count(*) as count_cars from `cars`';
$res=mysql_query($sql);
$counts=mysql_fetch_assoc($res);
$count_cars=$counts['count_cars'];
echo 'В таблице '.$count_cars.' автомобилей';

И четвёртый способ.Подсчитаем количество голосов в таблице.
$sql='select SQL_CALC_FOUND_ROWS * from `golosa`';
$res=mysql_query($sql);
$count_golos=mysql_num_rows($res);
Добавлено: 23 Августа 2013 05:44:26 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...