×

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

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

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

  • Рубрики
  • Слайдер
  • Сайдбар
  • Подписка
  • Вниз
  • Вверх
×
  • Как сделать сайт с нуля своими руками (вводная часть)

    1. Причины создания пошаговой инструкции по разработке самописного сайта
    2. Тема создаваемого сайта
    3. В чем будет заключаться монетизация
    4. Функционал
    5. Этапы создания
    6. Текущее состояние создаваемого сайта

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

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

    Причем чтобы такой интернет-ресурс был создан не на каком-нибудь стандартном шаблоне бесплатной СMS (Content management system - система управления контентом) типа WordPress, Drupal, Joomla и т.п., а заточенный под себя, с возможностью обеспечить ему должную безопасность и реализовать все свои индивидуальные потребности.

    Часто такие сайты, созданные под конкретные задачи на основе языка разметки веб-страниц HTML, стилей CSS и других инструментов веб-программирования (PHP, JavaScript и т.п.), называют самописными.

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

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

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

Самописный сайт своими руками!

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

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

Где в дополнительных материалах можно бесплатно скачать исходные файлы сайта с таблицами 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()

Как видно, здесь в строке 2 переменной $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 `url`")) {

  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

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

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

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

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


Комментарии


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

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

comments powered by HyperComments