Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа2.4.docx
Скачиваний:
17
Добавлен:
13.03.2016
Размер:
1.24 Mб
Скачать

Глава 2. Субд

MySQLс графическим интерфейсомphpmyadmin

Рисунок 1. «Панель входа СУБД MySQL“phpmyadmin”»

Рисунок 2. «Стартовая панель управления СУБД MySQL“phpmyadmin”»

Рассмотрим БД “mybase”.

Рисунок 3. «Содержание базы данных “mybase”»

Структура БД mybaseсостоит из трех таблиц:

В таблице usersхранятся данные о пользователях системы, в неё включены поляid(int),login(логин,varchar),password(пароль,varchar),fio(ФИО,varchar),email(электронная_почта,varchar),balance(баланс пользователя,int), гдеidявляется уникальным первичным ключом.

Рисунок 4 «Структура таблицыusers»

В таблице stuffхранятся данные о товарах, в неё включены поляids(idтовараint),name(имя,varchar),description(описание,varchar),price(цена,varchar), гдеidsявляется уникальным, первичным ключом. (тип данных цены обусловлен возможным выводом в как в формате числа, так и в формате «xxxруб.» или «ххх уе.»)

Рисунок 5 «Структура таблицы “stuff”»

В таблице paymentsхранятся данные о платежах, в неё включены поляid_pay(idплатежа) ,id_client(idпользователя совершившего платеж),id_stuff(idкупленного товара).

Рисунок 6 «Структура таблицы “payments”»

Целостность таблиц

Рисунок 7 «Связи таблицы “payments”»

Поля id_clientиid_stuffявляются вторичными ключами и соотносятся с первичными ключами соответствующих полей в таблицахusersиstuff, правила внешних ключей –ONDELETERESTRICTONUPDATERESTRICT, это запрещает удалять или обновлять записи таблицы, если в главной строчке есть соответствующий родитель. Это сделано для того, что бы запретить изменять таблицу платежей, ведь может возникнуть такой случай, когда товар или пользователь может удалится из системы и из-за этого возникнет путаница в истории платежей, которая поэтому должна быть независима от подобных действий.

Таким образом таблица paymentsимеет отношение к таблицамusersиstuffкак «один ко многим», и с наличием правил соотношения ключей образует оптимальную целостность таблицweb-приложения.

Глава 3. Создание серверной части приложения

Соединение с БД реализуется следующим скриптом:

Скрипт соединения с БД:

<?php

$db = mysql_connect ("localhost","Admin","Admin1");

mysql_select_db ("mybase",$db);

?>

Этот скрипт содержится в файле bd.php, который подключается на всех страницах, где требуется соединение с БД.

Связь с базой данных реализуется в нескольких страницах в различных скриптах:

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

SELECT id FROM users WHERE login='$login'

Запрос на сохранение пользовательских данных при регистрации:

INSERT INTO users (login,password,email,fio,balance)

VALUES('$login','$password','$email','$fio','$balance')

Запрос на изменение баланса при покупке товара: "UPDATE users SET balance=".$bb." WHERE id=".$bid Запрос на запись платежа в историю платежей: "INSERT INTO payments VALUES(NULL, '$bs', '$bid')"

Запрос на получение информации о товарах:

SELECT * FROM stuff

Глава 4. Java-script.

Джава-скрипты являются основными функциями обеспечивающими активность на стороне клиента, в то время как phpскрипты обеспечивают активность на стороне сервера.

Пример Java-скрипта, реализующего выход:

код кнопки:

<button onclick='myWindow()'>Выйти</button> код скрипта: <script>

function myWindow() {

var w = window.open('exit.php', 'Выход')}

</script> Функция скрипта открывает новую страницу (обработчик выхода) с заголовком «Выход». Скрипт последнего изменения страницыshop.php<script language=\"Javascript\">

<!--

document.write('данная страница изменялась:'+ document.lastModified + '<br>')

//-->

</script>