Внимание! Сайт переехал на новый домен sayt-sozdat.ru. Пожалуйста, обновите страницы закладок с новыми URL
×
Закрытие
6
×

Дополнительные материалы бесплатно предоставляются только зарегистрированным пользователям.

Для скачивания исходных файлов необходимо авторизоваться под своим аккаунтом через соответствующую форму.

Для тех кто не зарегистрирован, можно это сделать на вкладке Регистрация.

Устанавливаем графический редактор GIMP

  1. Выбор графического редактора
  2. Устанавливаем программу GIMP
  3. Устанавливаем Руководство пользователя

Здравствуйте уважаемый посетитель!

При создании и развитии сайта не обойтись без графического редактора. Этот инструмент необходим для формирования и обработки различных графических элементов, без которых сайт попросту не сможет существовать. Поэтому в наборе инструментов вебмастера графический редактор занимает важнейшее место.

В статье Устанавливаем бесплатный графический редактор GIMP речь пойдет о бесплатной программе GIMP, которая позволяет в полной мере решать вопросы по созданию элементов дизайна веб-страниц. И будет показано, как ее установить на локальный компьютер.

Кроме того здесь можно будет посмотреть, как в этот редактор добавить встроенное "Руководство пользователя", а также приведен бесплатный видеокурс, где можно поближе с ним познакомиться.

Для тех же, кто хочет заниматься дизайном на платном Adobe Photoshop (фотошоп), здесь также упомянут и такой вариант, основанный на использовании продления льготного бесплатного периода фотошопа на неопределенное время...

Cайт на практическом примере

Текущее состояние создаваемого сайта

Здесь можно посмотреть текущее состояние сайта, создаваемого в рамках цикла статей Самописный сайт с нуля своими руками.

Исходные файлы данного сайта можно скачать из прилагаемых к статьям дополнительных материалов.

Вы здесь: Главная → Сборник статей → MySQL → Как вывести количество записей в таблице MySQL


Автор: / Дата:

Как вывести количество записей в таблице MySQL

Выводим количество записей в таблице MySQL

Здравствуйте, уважаемый посетитель!

Прежде, чем приступит к следующей теме и заняться формами, хочу затронуть еще один вопрос по работе с базой данных MySQL, который был задан одним из пользователей. А именно: как вывести суммарное количество записей в таблице MySQL.

Ранее, в разделе Работа с БД MySQL, довольно подробно рассматривались различные действия с БД MySQL, от подключения к ней, до ввода/вывода данных. При этом, понятно, что имеется множество возможных операций с базой данных, и заведомо предусмотреть все случаи просто невозможно.

Однако, если появился конкретный вопрос, то считаю, его необходимо рассмотреть отдельно. Тем более, что такие задачи нередко могут возникать при работе с БД. И делать это будем на примере таблицы базы данных "url", которая используется для формирования динамических страниц создаваемого сайта "newsite.local".

Содержание


  • Вариант с использованием SQL-функции count()
  • Вариант с использованием PHP-функции count()
  • Вариант с использованием PHP-функции mysqli_num_rows
  • Исходные файлы сайта

Вариант с использованием SQL-функции count()


Как отмечалось выше, здесь для примера будем использовать таблицу "url", которая на данный момент содержит 6 строк. Ниже приведен скриншот ее содержимого, сделанного с помощью веб-приложения "phpMyAdmin".

Скриншот содержимого таблицы url

Рис.1 Скриншот содержимого таблицы "url"

Для вывода количества записей можно использовать разные способы. При этом, какой применять, в большой степени зависит от конкретной задачи.

Например, если требуется определить только число строк, без выполнения с ней каких-либо других операций, вполне уместно использовать SQL-функцию "count()". Которая возвращает эту величину в соответствии с определенными критериями.

В этом случае SQL-запрос будет иметь следующий вид: "SELECT COUNT(имя поля) FROM имя_таблицы WHERE условие". При этом, если вместо имени поля указать "*" и не применять условие, то будут подсчитаны абсолютно все имеющиеся записи без каких-либо условий.

Вот такой запрос для нашей задачи, где требуется определить все суммарные записи в таблице, мы и применим. А для этого воспользуемся аналогичными, ранее составленными PHP-функциями, предназначенными для работы с базой данных MySQL.

В данном случае за основу возьмем функцию по выводу одиночной строки, заменив в ней кроме имени и параметров еще и SQL-запрос на "SELECT COUNT(*) FROM `$table`". А также ассоциативный массив на числовой, в качестве ключей которого будут использоваться не наименования полей, а числовые индексы.

Следует отметить, что получить количество записей можно и не составляя отдельную функцию, а разместив необходимый скрипт непосредственно на HTML-странице. Однако, в этом случае такое решение будет не универсально, при котором потребуется каждый раз использовать один и тот же код при выполнении однотипных действий.

В нашем варианте, используя в качестве параметра имя таблицы, можно такую функцию использовать при определении количества всех строк для разных случаев.

Для этого при ее вызове понадобится всего лишь в качестве аргумента указать имя таблицы - остальное будет выполняться составленной для этой цели универсальной функцией. PHP-код такой пользовательской функции приведен на рис.1.

  1. <?php

  2. //----Функция определения количества строк таблицы MySQL-------------

  3. function countTable($table) {

  4. global $mysqli;

  5. if (!$result = $mysqli->query("SELECT COUNT(*) FROM `$table`")) {

  6. die ('При извлечении записей возникла ошибка: '.$mysqli->errno.' - '.$mysqli->error);

  7. }

  8. $count = $result->fetch_row();

  9. return $count[0];

  10. }

  11. ?>

Рис.2 Функция для определения количества записей с использованием SQL-функции count()

Здесь видно, что у вновь созданной функции с именем "countTable" параметром является переменная $table. Что позволяет ее использовать для любых имеющихся в базе данных таблиц.

При этом следует обратить внимание на то, что этот скрипт следует поместить в файл "functions.php" папки "mysql" корневого каталога создаваемого сайта "newsite.local", где расположены и остальные функции для работы с БД MySQL

И теперь, для проверки результата, добавим в начало файла "index.php" всего три PHP-строки, не считая комментария.

  1. <?php

  2. //----Вывод количества записей с использованием SQL-функции count()----

  3. $table = "url";

  4. $count = countTable($table);

  5. echo '1 Количество записей в таблице '.'"'.$table.'"'.': '.$count;

  6. ?>

Рис.3 Вывод количества записей с использованием SQL-функции count()

Как видно, здесь в строке 3 переменной $table присвоено значение "url", соответствующее имени таблицы. А далее выполняется вызов функции "countTable", результат которой в виде переменной $count_bd через конструкцию echo выводится на страницу.

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

Вывод количества записей в таблице с использованием SQL-функции count()

Рис.4 Вывод количества записей с использованием SQL-функции count()

Таким образом мы получили нужное значение с помощью SQL-функции count(). А теперь сделаем то же самое иным способом, используя для этого одноименную не SQL, а PHP-функцию count().

Вариант с использованием PHP-функции count()


Данный способ целесообразно использовать в том случае, если помимо подсчета количества записей необходимо выполнить и их вывод. Тогда не нужно будет формировать отдельный SQL-запрос, как это делалось в предыдущем варианте, а достаточно будет использовать PHP-функцию count(), применив ее к полученному массиву, образованному при выводе данных из таблицы.

Для того, чтобы это проверить, можно использовать ранее составленные функции по выводу набора строк. В данном случае используем пользовательскую функцию для вывода всех строк без указания условия, PHP-код которой приведен в следующей таблице.

  1. <?php

  2. //----Функция вывода набора всех строк таблицы-----

  3. function getAll($table) {

  4. global $mysqli;

  5. if (!$result = $mysqli->query("SELECT * FROM `$table`")) {

  6. die ('При извлечении записей возникла ошибка: '.$mysqli->errno.' - '.$mysqli->error);

  7. }

  8. $array = array();

  9. while (($row = $result->fetch_assoc()) != false) {

  10. $array[] = $row;

  11. }

  12. return $array;

  13. }

  14. ?>

Рис.5 Функция вывода всех строк таблицы

Как видно, в данной функции результат работы возвращается в виде массива $array (поз.12).

Поэтому, применив к нему PHP-функцию count(), можно легко получить требуемый результат. Ниже приведен вариант PHP-кода, который для проверки разместим, как и в предыдущем случае, в начале файла "index.php"

  1. <?php

  2. //----Вывод количества записей с использованием PHP-функции count()----

  3. $table = "url";

  4. $data_bd = getAll($table);

  5. $quantity = count ($data_bd);

  6. echo nl2br ("\n".'2 Количество записей в таблице '.'"'.$table.'"'.': '.$quantity);

  7. ?>

Рис.6 Вывод количества записей с использованием PHP-функции count()

Наверное, комментариев здесь не требуется. Можно лишь только отметить, что в отличие от предыдущего случая, для перевода строки при отображении результатов, здесь используется не конструкция echo, а функция echo nl2br (поз.5).

Ну, а теперь проверим, что у нас в итоге получилось. Для этого обновим или откроем новую страницу.

Вывод количества записей в таблице с использованием PHP-функции count()

Рис.7 Вывод количества записей с использованием PHP-функции count()

Таким образом мы рассмотрели и второй способ подсчета суммарного количества записей. Хотя этого вполне достаточно для решения различных задач, но рассмотрим еще один способ, который имеет также право на существование.

Вариант с использованием PHP-функции mysqli_num_rows


В этом случае, для разнообразия не будем составлять какие-либо отдельные пользовательские функции, а разместим полученный PHP-скрипт непосредственно в файл "index.php".

При этом в данном способе для подсчета суммарного количества строк будем определять число рядов в результирующей выборке. И делать это будем используя PHP-функцию "mysqli_num_rows" (в синтаксисе процедурного стиля) или в виде обращения результирующего объекта к соответствующему свойству вида "$mysqli->num_rows" (в объектно-ориентированном стиле)

Так как ранее при работе с БД MySQL мы использовали объектно-ориентированный стиль, то и сейчас составим PHP-код в этом же интерфейсе.

  1. <?php

  2. //----Вывод количества записей с использованием PHP-функции mysqli_num_rows----

  3. if (!$result = $mysqli->query("SELECT * FROM `url`")) {

  4. die ('При извлечении записей возникла ошибка: '.$mysqli->errno.' - '.$mysqli->error);

  5. }

  6. $amount = $result->num_rows;

  7. echo nl2br ("\n".'2 Количество записей в таблице '.'"'.$table.'"'.': '.$quantity);

  8. ?>

Рис.8 Вывод количества записей с использованием PHP-функции mysqli_num_rows

В данном скрипте PHP-код состоит из аналогичных фрагментов, используемых в предыдущих случаях за исключением только того, что теперь число строк определяется в результате обращения объекта $result к свойству num_rows (поз.6).

После внесения этих дополнения в файл "index.php" обновим страницу, и если сделано все правильно, можно будет увидеть еще один результат подсчета количества записей.

Вывод количества записей в таблице с использованием PHP-функции mysqli_num_rows

Рис.9 Вывод количества записей с использованием PHP-функции mysqli_num_rows

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

Все выполненные в статье дополнения внесены в последнюю версию исходных файлов сайта - в файлы: "index.php" (4÷21 строка) и "functions.php" (64÷63 строка).

Причем в файле "index.php" соответствующие фрагменты кода закомментированы. Поэтому, для того, чтобы отобразить результаты работы этих скриптов, необходимо их раскомментировать.

Надеюсь, приведенный здесь материал сможет кому-либо пригодиться при разработке своего сайта.

Исходные файлы сайта


Знак папкиИсходные файлы сайта с обновлениями, которые были сделаны в данной статье, можно скачать из прилагаемых дополнительных материалов:

  • Файлы каталога www
  • Таблицы базы данных MySQL

Дополнительные материалы бесплатно предоставляются только зарегистрированным пользователям.

Для скачивания исходных файлов необходимо авторизоваться под своим аккаунтом через соответствующую форму.

Для тех кто не зарегистрирован, можно это сделать на вкладке Регистрация.

С уважением, Николай Гришин


Комментарии


Если у Вас возникли вопросы, или есть какие-либо пожелания по представлению материала, либо заметили какие-нибудь ошибки, а быть может просто хотите выразить свое мнение, пожалуйста, оставьте свои комментарии. Такая обратная связь очень важна для возможности учета мнения посетителей.

Буду Вам за это очень признателен!