Наверх

Подсчёт количества строк в таблице 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);


 Читайте также:


5 комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
By Гость
4 недели 4 дня назад

зачем так растягивать

зачем так растягивать код? echo 'В таблице '.mysql_num_rows(mysql_query("SELECT * FROM `table`")).' строк';
By admin
4 недели 4 дня назад

Согласен с вами,но новички

Согласен с вами,но новички так не поймут))
By Гость
7 недель 3 дня назад

Вообще-то, $sql='select *

Вообще-то,
$sql='select * from `pets`';
$res=mysql_mysql_query($sql);
$count_pets = mysql_num_rows($res);
echo 'В таблице '.$count_pets.' животных';
неправильно.

Правильно так:

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

By admin
7 недель 3 дня назад

Да,опечатка

Да,опечатка закралась.Спасибо,поправил.
By Гость
1 неделя 5 дней назад

Спасибо за справку. Помогло.

Спасибо за справку. Помогло.

Отправить комментарий

Войти используя Loginza Vkontakte Facebook livejournal Google Account Yandex Mail.ru API Rambler Last.fm Twitter WebMoney
  • Строки и параграфы переносятся автоматически.
  • Доступные HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>

Подробнее о форматировании

- ноль = два
Решите этот математический пример.Решение введите цифрой.Например для "один * четыре=?" введите "4"