×

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. Проверка при малых разрешениях экрана
    2. Проверка при больших разрешениях экрана
    3. Проверка на выделенном домене

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

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

    Для этого предусмотрена возможность оценивать его работу в двух вариантах: с использованием зеркала сайта на поддомене текущего ресурса и на реальном интернет-ресурсе, размещенном на выделенном домене "avtobezugona.ru.

    Следует отметить, что первый вариант, предусматривающий использование зеркала сайта, позволяет наглядно оценить его работу при различных разрешениях экрана в диапазоне от 320px до 1920px. Что очень удобно для проверки адаптации во всем допустимом диапазоне.

    Второй вариант же просто показывает, как это выглядит в реальных условиях при работе в сети Интернет.

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

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

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

Где в дополнительных материалах можно бесплатно скачать исходные файлы сайта с таблицами MySQL.

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


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

Записываем данные MySQL с использованием PHP

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

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

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

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

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

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

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

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

Содержание


  • Записываем данные одной строки в таблицу MySQL
  • Составляем PHP-скрипт для записи всех строк таблицы
  • Составляем отдельную функцию записи данных в таблицу 'url_php'
  • Исходные файлы сайта

Записываем данные одной строки в таблицу MySQL


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

id
(№
пп)
title (Заголовок страницы) file (имя файла) url (ЧПУ)
1 Главная index.php (см. примечание *)
2 Статистика угонов article.php statistika-ugonov
3 Способы маркировки action.php sposobi-markirovki
4 Получить скидку righting.php poluchity-skidku
5 Контакты contacts.php kontakti

Рис1.

* - url главной страницы обычно имеет вид доменного имени без добавления каких-либо символов. В нашем случае - это "avtobezugona.ru".

Исходя из этого следует, что количество параметров для каждой записи должно соответствовать трем полям таблицы, а именно: "title", "file" и "url" (идентификатор "id" при создании записей присваивается автоматически).

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

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

По сути, этот SQL-запрос будет аналогичен тому, который был составленный ранее в статье Записываем данные MySQL с использованием SQL-запросов. Основное отличие лишь только в том, что в данном случае он будет предназначен для записи всего лишь одной строки, а не нескольких, как в предыдущем варианте.

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

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

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

  1. <?php

  2. //----Запись одной строки в таблицу "url_php"-------------

  3. $title = 'Главная';

  4. $file = 'index.php';

  5. $url = '';

  6. if (!$mysqli->query("INSERT INTO `url_php` (`title`, `file`, `url`) VALUES ('$title', '$file', '$url')")) {

  7. die('Запись не выполнена: Код ошибки: '.$mysqli->errno.' - '.$mysqli->error);

  8. }

  9. echo 'Запись данных в таблицу "url_php" выполнена успешно';

  10. ?>

Рис.2

Как видно, переменным $title, $file и $url (поз. 3÷5) присвоены значения первой строки исходной таблицы (для переменной $url задана пустая строка двумя одиночными кавычками).

Для выполнения запроса к базе данных здесь используется объектно-ориентированный стиль, где идентификатором соединения $mysqli в качестве объекта вызывается метод query с SQL-запросом (поз.6).

Следует отметить, что здесь SQL-запрос составлен по аналогии с рассматриваемым в предыдущей статье. Только теперь в качестве значений в нем используются не конкретные данные, а заданные переменные $title, $file и $url, относящиеся к одной строке.

И последнее, что стоит отметить по представленному PHP-коду, это наличие проверки результатов выполнения запроса.

Так, в случае, если по каким-либо причинам запрос не будет выполнен, функция die (поз.7) остановит работу программы с выводом сообщения на экран браузера. При этом будут отображены код и текст ошибки, полученные с помощью свойств errno и error, соответственно.

В случае же, если запрос на создание строки таблицы пройдет успешно, для подтверждения такого результата с помощью функции echo (поз.9) будет выведено на экран сообщение с соответствующим текстом.

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

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

Для увеличения / уменьшения размера изображения кликните по картинке
Записываем данные MySQL с использованием PHP, картинка 1

Рис.3

Как видно, вверху страницы после загрузки появилось сообщение об успешном выполнении записи.

А если в веб-приложении phpMyAdmin теперь посмотреть ее содержание, то можно увидеть, что появилась первая строка с идентификатором "1".

Для увеличения / уменьшения размера изображения кликните по картинке
Записываем данные MySQL с использованием PHP, картинка 2

Рис.4

Также можно проверить контроль выполнения сформированного запроса. Для этого, введем в его код некоторую ошибку, скажем к имени первого поля "title" добавим цифру 7, как показано на следующем рисунке.

  1. <?php

  2. //----Запись одной строки в таблицу "url_php"-------------

  3. $title = 'Главная';

  4. $file = 'index.php';

  5. $url = '';

  6. if (!$mysqli->query("INSERT INTO `url_php` (`title7`, `file`, `url`) VALUES ('$title', '$file', '$url')")) {

  7. die('Запись не выполнена: Код ошибки: '.$mysqli->errno.' - '.$mysqli->error);

  8. }

  9. echo 'Запись данных в таблицу "url_php" выполнена успешно';

  10. ?>

Рис.5

И если, теперь снова обновить главную страницу, то загрузка ее будет остановлена, а на экране браузера появится информационное сообщение с кодом ошибки и с ее описанием. В данном случае выявлено неизвестное поле с именем "title7" (как раз то, в которое мы заведомо внесли ошибку).

Для увеличения / уменьшения размера изображения кликните по картинке
Записываем данные MySQL с использованием PHP, картинка 3

Рис.6

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

Таким образом мы проверили с использованием PHP запись одной строки в таблицу MySQL.

Составляем PHP-скрипт для записи всех строк таблицы


Для заполнения оставшихся строк нам необходимо составить такой код, при выполнении которого происходило бы поочередное выполнение запроса на запись строки, но не с постоянными значениями переменных $title, $file и $url, а изменяемыми в соответствии с исходными данными.

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

Ниже показан такой вариант решения поставленной задачи.

  1. <?php

  2. //----Запись нескольких строк в таблицу "url_php"-------------

  3. $title_array = array('Главная', 'Статистика угонов', 'Способы маркировки', 'Получить скидку', 'Контакты');

  4. $file_array = array('index.php', 'article.php', 'action.php', 'righting.php', 'contacts.php');

  5. $url_array = array('', 'statistika-ugonov', 'sposobi-markirovki', 'poluchity-skidku', 'kontakti');

  6. for ($i = 1; $i <= 4; $i++) {

  7. $title = $title_array[$i];

  8. $file = $file_array[$i];

  9. $url = $url_array[$i];

  10. if (!$mysqli->query("INSERT INTO `url_php` (`title`, `file`, `url`) VALUES ('$title', '$file', '$url')")) {

  11. die('Запись не выполнена: Код ошибки: '.$mysqli->errno.' - '.$mysqli->error);

  12. }

  13. }

  14. echo 'Запись данных в таблицу "url_php" выполнена успешно';

  15. ?>

Рис.7

Здесь, для назначения переменных используются числовые массивы (поз. 3÷5), в которых каждый элемент имеет числовой индекс.

А с помощью конструкции цикла for, в зависимости от индекса, переменным $title, $file, $url присваиваются нужные значения (поз. 7÷9).

При этом, в тело цикла включен также и вызов метода query (поз.10) с SQL-запросом, что обеспечит выполнение записи данных в строку с полученными значениями переменных при каждом выполнении цикла for.

Как известно, этот оператор повторяет определённые действия (инструкции), пока не будет выполнено заданное условие. В данном случае циклы начнут выполняться со значения переменной $i, равной единицы и закончатся, когда она примет значение больше четырех.

Учитывая, что по умолчанию числовые массивы начинаются с индекса "0", то при выполнении данного скрипта будет поочередно происходить запись всех исходных данных, начиная со второй строки. Значения первой строки записаны не будут, так как индекс "0" в цикле for будет пропущен.

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

Теперь проверим работу его, снова обновив главную страницу.

Для увеличения / уменьшения размера изображения кликните по картинке
Записываем данные MySQL с использованием PHP, картинка 4

Рис.8

Если сделано все правильно и в коде не будет никаких ошибок, то в таблицу "url-php" будут занесены все оставшиеся строки. В итоге, как видно в приведенном скриншоте, ее содержание в точности будет повторять то, которое мы получали другими способами, рассматриваемыми в предыдущих статьях.

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

Составляем отдельную функцию записи данных в таблицу 'url_php'


В предыдущих примерах мы выполняли запрос в PHP-коде, непосредственно размещенном в основной программе.

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

Вот сейчас мы и проделаем такие преобразования с полученным ранее PHP-скриптом.

Для этого, фрагмент кода с запросом к базе данных query вынесем в отдельный файл "functions.php", который был создан ранее в статье Подключаем базу данных MySQL с использованием процедурного и объектно-ориентированного стиля MySQLi. И на его основе создадим отдельную функцию записи строки в таблицу "url_php" под названием "rihgtUrlPhp".

Полученный в результате этого код функции rihgtUrlPhp() примет следующий вид.

  1. <?php

  2. //----Функция записи строки в таблицу "url_php"-------------

  3. function rihgtUrlPhp($title, $file, $url) {

  4. global $mysqli;

  5. if (!$mysqli->query("INSERT INTO `url_php` (`title`, `file`, `url`) VALUES ('$title', '$file', '$url')")) {

  6. die('Запись не выполнена: Код ошибки: '.$mysqli->errno.' - '.$mysqli->error);

  7. }

  8. }

  9. ?>

Рис.9

Здесь необходимо отметить, что переменные $title, $file и $url теперь являются параметрами вновь созданной функции rihgtUrlPhp() (поз.3).

Кроме того, для того, чтобы в качестве переменной $mysqli использовалась именно переменная идентификатора соединения, здесь она обозначена как глобальная (поз.4).

Что касается оператора for, его начальный индекс заменен с 1 на 0. Это сделано для того, чтобы при выполнении скрипта происходила запись всех строк, включая и первую.

А, в отношении кода, предназначенного для проверки результатов выполнения запроса, то он ничем не отличается от предыдущих вариантов.

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

Таким образом, код PHP-скрипта некоторым образом изменится (светлым цветом выделены строки с изменениями).

  1. <?php

  2. //----Запись нескольких строк в таблицу "url_php" через выделенную функцию-------------

  3. $title_array = array('Главная', 'Статистика угонов', 'Способы маркировки', 'Получить скидку', 'Контакты');

  4. $file_array = array('index.php', 'article.php', 'action.php', 'righting.php', 'contacts.php');

  5. $url_array = array('', 'statistika-ugonov', 'sposobi-markirovki', 'poluchity-skidku', 'kontakti');

  6. for ($i = 0; $i <= 4; $i++) {

  7. $title = $title_array[$i];

  8. $file = $file_array[$i];

  9. $url = $url_array[$i];

  10. rihgtUrlPhp($title, $file, $url);

  11. }

  12. echo 'Запись данных в таблицу "url_php" выполнена успешно';

  13. ?>

Рис.10

А теперь, если снова обновить главную страницу, то при правильном составлении кода в таблицу "url_php" должно быть добавлено к уже существующим пяти строкам еще пять точно таких же строк.

Для увеличения / уменьшения размера изображения кликните по картинке
Записываем данные MySQL с использованием PHP, картинка 5

Рис.11

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

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

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


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

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

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

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

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

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

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


Комментарии


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

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

comments powered by HyperComments