Разработка магазинов с гарантией попадания в ТОП поисковых систем

Узнать подробнее
Eltisbook > Руководство по созданию сайта > Работа с базами данных

Работа с базами данных

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

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

Создаем таблицу внутри БД.

А теперь мы создадим таблицу в базе данных, под именем spec_price, которая будет состоять из двух столбцов: уникального идентификатора и URL–адреса изображения.

Первое поле назовем id, тип int, длинна 4, дополнительно – auto_increment, первичный ключ – ДА.

Второе поле назовем url тип varchar, длинна 255.

Идентификатор

 Нажимаем сохранить.

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

http://www.eltisbook.ru/img/sait/plata_special.png

Продукт

http://www.eltisbook.ru/img/sait/plata_special_1.png

Зеркалка

http://www.eltisbook.ru/img/sait/plata_special_2.png

Техника

http://www.eltisbook.ru/img/sait/plata_special_3.png

Устройство

 Нажимаем вставить в панели управления phpMyAdmin и вставляем url адреса изображений в поле значение. (В поле idвводить ничего не надо, т.к. оно будет заполняться автоматически путем увеличения на 1). Выбираем вставить новую запись и жмем пошел, когда адреса всех изображений будут введены выбираем возврат и жмем пошел.

Новая запись

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

Создаем управляющий PHP скрипт.

для начала нам необходимо соединиться с базой данных, введя данные созданного нами пользователя:

$db = mysql_connect(«localhost»,»admin_plata»,»platapass»);

Выбираем созданную нами базу и извлекаем из нее все значения:

mysql_select_db(«plata_db»,$db);
$result = mysql_query («SELECT * FROM spec_price»);

Присваиваем значениям адресов порядковые номера в цикле:

$myrow = mysql_fetch_array($result);
do
$spec[] = $myrow[‘url’];

while ($myrow = mysql_fetch_array ($result));

Получаем случайное число от 0 до количества адресов уменьшенного на 1 (3).

srand ((double) microtime() * 1000000);
$random_number = rand(0,count($spec) – 1);

Заносим получившийся php код в самый верх страницы (сразу под тегом <html>):

<?php
$db = mysql_connect(«localhost»,»admin_plata»,»platapass»);
mysql_select_db(«plata_db»,$db);
$result = mysql_query («SELECT * FROM spec_price»);
$myrow = mysql_fetch_array($result);
do
$spec[] = $myrow[‘url’];
while ($myrow = mysql_fetch_array ($result));
srand ((double) microtime() * 1000000);
$random_number = rand(0,count($spec) – 1);
?>

Теперь осталось вставить небольшой php код в атрибуте href изображения со специальной акцией:

<img src=»<?php echo ($spec[$random_number]); ?>» width=»203″ height=»201″ border=»0″>

Теперь при каждом вызове страницы php будет генерировать случайное число и вставлять адрес изображения соответствующий этому числу.

Выносим управляющий код во внешний файл.

Вынесем php код в отдельный файл, с названием db_connect.php и добавим его на каждую страницу сайта при помощи:

<?php

include («blocks/db_connect.php»);

?>

не забываем изменить атрибут href изображений с акцией на всех страницах сайта:

<img src=»<?php echo ($spec[$random_number]); ?>» width=»203″ height=»201″ border=»0″>

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


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

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