Скачайте приложение и протестируйте бесплатно в течение 10 дней
Валюта Выберите язык Выбрать регион

Связь PHP и MySQL в системе bluetronix CMS

В этом руководстве вы создадите собственную таблицу базы данных и свяжете ее с страницей CMS. На практических примерах вы познакомитесь с SQL-командами INSERT, REPLACE, SELECT и UPDATE и узнаете, как выводить значения базы данных на своем веб-сайте с помощью HTML-плейсхолдеров.

Создать страницу примера

Сначала создайте новую примерную страницу для этого учебника.

Например:

PHP MySQL Пример

Страница может сначала быть полностью пустой.

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

Создать таблицу базы данных

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

Для этого откройте:

База данных → Новая таблица

Для этого примера мы используем таблицу со столбцами ID, Date, Title, Description и Image.

ID содержит уникальный идентификатор записи. Date сохраняет дату и время. Title содержит заголовок, Description — более длинный текст описания, а Image — имя изображения.

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

Открыть PHP-код

После создания таблицы вернитесь на свою примерную страницу.

Откройте там:

PHP Код

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

Сохраните данные с помощью INSERT или REPLACE

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

Сначала установите необходимые переменные PHP.

Пример:

$ID = 1;
$Date = date("Y-m-d H:i:s");
$Title = "My Title";
$Description = "My Description";
$Image = "my-image.jpg";

Эти значения вы можете сохранить с помощью подготовленного выражения MySQL.

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

Пример с REPLACE:

$stmt = $mysqli->prepare("REPLACE INTO ExampleTable (ID, `Date`, Title, Description, Image) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("issss", $ID, $Date, $Title, $Description, $Image);
$stmt->execute();

Затем откройте страницу один раз.

После этого откройте:

База данных → Просмотр

Там должен быть виден вновь созданный набор данных.

Разница между INSERT и REPLACE

INSERT добавляет новый набор данных.

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

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

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

Чтение данных с помощью SELECT

На следующем этапе вы считываете сохранённый набор данных из базы данных.

Пример:

$stmt = $mysqli->prepare("SELECT `Date`, Title, Description, Image FROM ExampleTable WHERE ID = ?");
$stmt->bind_param("i", $ID);
$stmt->execute();
$result = $stmt->get_result();

if($row = $result->fetch_assoc()) {
$Date = $row["Date"];
$Title = $row["Title"];
$Description = $row["Description"];
$Image = $row["Image"];
}

Считанные значения затем находятся в переменных $Date, $Title, $Description и $Image.

Свяжите базу данных и $LayoutHTML

Глобальная переменная CMS $LayoutHTML во время процесса рендеринга содержит текущее генерируемое HTML страницы.

Таким образом, вы можете заменить собственные заполнители внутри HTML-кода данными из таблицы MySQL.

Установите плейсхолдеры в HTML-коде

Снова откройте HTML-код вашей примерной страницы.

Содержимое ранее вставленного раздела страницы вы можете теперь заменить собственными заполнителями.

Например:

__MyDate__
__MyTitle__
__MyDescription__
__MyImage__

Упрощённый HTML-пример:

<section>
   <div class="container">
      <img src="__MyImage__" alt="">
      <small>__MyDate__</small>
      <h2>__MyTitle__</h2>
      <p>__MyDescription__</p>
   </div>
</section>

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

Вставка значений из базы данных в макет

После того как данные были загружены с помощью SELECT, вы заменяете заполнители внутри $LayoutHTML.

Пример:

$LayoutHTML = str_replace("__MyDate__",$Date,$LayoutHTML);
$LayoutHTML = str_replace("__MyTitle__",$Title,$LayoutHTML);
$LayoutHTML = str_replace("__MyDescription__",$Description,$LayoutHTML);
$LayoutHTML = str_replace("__MyImage__",$Image,$LayoutHTML);

Процесс таким образом выглядит следующим образом:

MySQL-База данных → SELECT → PHP-переменные → str_replace() → $LayoutHTML → готовая веб-страница

Содержимое базы данных непосредственно отображается внутри существующего HTML-макета.

Тестируйте изменения напрямую через базу данных

Откройте:

База данных → Просмотр

Затем отредактируйте существующую запись.

Например, вы можете изменить заголовок с My Title на New My Title.

Также изображение можно изменить с помощью соответствующей BX-Image-Button.

После сохранения и перезагрузки веб-страницы измененные данные будут сразу отображены в макете страницы.

Таким образом, существует прямая связь между:

База данных → PHP → $LayoutHTML → Веб-страница

Измените данные с помощью UPDATE

С помощью UPDATE вы можете прямо через PHP изменить уже существующую запись.

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

После выполнения обновления вы можете снова загрузить данные с помощью SELECT и затем отобразить их на вашей странице через $LayoutHTML.

Резюме

С помощью PHP и MySQL вы можете сохранять, извлекать и изменять данные в cms bluetronix.

INSERT или REPLACE сохраняют данные, SELECT извлекает данные, а UPDATE изменяет существующие записи.

С помощью $LayoutHTML вы можете затем напрямую интегрировать загруженные данные в существующие HTML-структуры.

Таким образом, содержимое базы данных можно аккуратно соединить с HTML-макетом страницы CMS.

Часто задаваемые вопросы

что часто спрашивают клиенты

Что мне нужно для этого PHP- и MySQL-учебника?

Вам нужен доступ разработчика к cms bluetronix. Кроме того, вы должны уже понимать, как работает процесс рендеринга сайта CMS и какую роль играет переменная $LayoutHTML.

Где я могу создать новую таблицу базы данных?

Откройте в CMS раздел База данных → Новая таблица.

Какие столбцы используются в примере?

В учебнике используются столбцы ID, Date, Title, Description и Image.

Почему мне следует использовать подготовленные выражения?

Подготовленные выражения отделяют переданные значения от самого SQL-оператора и, следовательно, предназначены для работы с базами данных.

В чем разница между INSERT и REPLACE?

INSERT добавляет новую запись. REPLACE может заменить существующую запись с тем же уникальным ID или тем же первичным ключом.

Как извлечь данные из базы данных?

Для этого вы используете оператор SELECT. Загруженные значения можно затем сохранить, например, в PHP-переменных, таких как $Title, $Description или $Image.

Как данные MySQL попадают в HTML страницы?

Сначала вы устанавливаете собственные заполнители в HTML-коде и затем заменяете их с помощью str_replace() внутри $LayoutHTML на загруженные значения из базы данных.

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

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

Для чего используется UPDATE?

С помощью UPDATE вы можете изменить существующую запись напрямую через PHP.

Могу ли я использовать изображения из базы данных в макете страницы?

Да. В примере значение изображения сохраняется в переменной $Image и используется через собственный заполнитель, такой как __MyImage__ в $LayoutHTML.

CMS