Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание сайта с использованием php-скриптов

Читайте также:
  1. B. С использованием режима J3E или H3E, что удобнее.
  2. III. Создание послевоенного романтизма.
  3. Seo-оптимизатору и Web-мастеру Сервисы по продвижению вашего блога, сайта, интенет-магазина
  4. Борьба за создание II Интернационала
  5. Быстрое создание отправного пункта.
  6. Взаимосвязь между использованием территорий, интен сивностью движения и количеством происшествий
  7. Возможно использование сайта ИПиУ
  8. ВОПРОС №2 Внешняя политика СССР после окончания Великой Отечественной войны. Начало «холодной войны», гонка вооружений и создание военно-политических блоков.
  9. Воссоздание российской государственности
  10. ВТОРОЙ ЭТАП- создание структуры
  11. Выдача наличных с использованием банковской карты и ПИН-кода
  12. Выше показано, что на создание материи по массе, равную массе Земли, Солнцу требуется непрерывно выделять свою энергию на протяжении около 43 миллионов лет.



Анализ технического задания

Создание базы данных MySQL

Проектная часть

База данных "Телефонные переговоры"

База данных "Телефонные переговоры" должна хранить следующую информацию:

1) Фамилия, Имя, Отчество абонента.

2) Телефонный номер абонента.

3) Телефонный код и название города, куда звонил абонент.

4) Дата разговора.

5) Продолжительность разговора.

6) Тариф за 1 минуту разговора с указанным городом.

7) Домашний адрес абонента.

База данных должна содержать информацию о 10 абонентах, 5 городах. Предусмотреть, чтобы 5 абонентов сделали не менее 2 телефонных разговоров с различными городами.

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

Название таблицы Список полей
«Клиент» ID, ФИО, №_Телефона, Адрес
«Город» ID, Город, Код_города
«Тариф» ID, Название, Стоимость
«Звонки» ID, Дата, Город_id, Продолжительность, Тариф_id

3.1.2 Создание базы данных «Телефонные переговоры»

В качестве инструментальных средств использовались Denwer 3 с phpmyadmin, MySQL Server 5.1.

Для начала работы потребовалось запустить Denwer и набрать в адресной строке браузера: http://localhost/tools/phpmyadmin/

Рис.1 «Создание новой базы данных»

При создании базы данных используется кодировка cp1251_general_ci, т.к. она является стандартной 8-битной кодировкой для всех русских версий Microsoft Windows.

После чего создаётся два новых пользователя (администратор и гость) с заданием имени и пароля, на основе которых определяются права пользователя системы.

Рис.2 «Добавление пользователя»

 

 

Следующим этапом является непосредственное создание и заполнение таблиц базы данных.

Рис.3 «Создание таблиц»

Достаточно простой интерфейс phpmyadmin помогает упростить процесс добавления таблиц, по сравнению с разработкой SQL скриптов в консоли. Как видно на рис.3 заполнять требуется лишь несколько полей: имя, тип, длинна (когда тип-символьный) и индекс (Primary), позволяющий указать ключевое поле.

Так выглядело бы создание той же таблицы City в виде SQL-скрипта:

CREATE TABLE IF NOT EXISTS `city` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`city` varchar(20) CHARACTER SET utf8 NOT NULL,

`cod` int(11) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=13 ;

 

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



Рис.4 «Заполнение таблицы»

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

Рис.5 «Таблица Klient»

В командной строке реализация осуществлялась бы с помощью SQL-команды INSERT следующим образом:

INSERT INTO `klient` (`id`, `name`, `phone`, `address`) VALUES

(1, 'Созонова Мария Васильевна', '68-15-43', 'Ульяновск, ул.Ленина, д.7, кв.8 '),

(2, 'Петрова Инна Львовна', '75-09-18', 'Ульяновск, ул.Кузоватовская, д.40, кв.15'),

(3, 'Ткачева Любовь Михайловна', '31-15-86', 'Самара, ул.Комсомольская, д.6, кв.9'),

(4, 'Иванова Анна Петровна', '69-19-51', 'Самара, ул.Красноармейская, д.35, кв.230'),

(5, 'Сотин Евгений Юрьевич', '17-30-28', 'Ульяновск, ул.Гончарова, д.26, кв.12'),

(6, 'Балашев Евгений Иванович', '49-08-69', 'Казань, ул.Бегичева, д.12, кв.8'),

(7, 'Антропов Геннадий Сергеевич', '73-48-19', 'Казань, ул.Островского, д.8, кв.15'),

(8, 'Кутинова Наталья Ильинична, '15-63-21', 'Москва, ул.Горького, д.45, кв.19'),

(9, 'Ульянов Илья Петрович', '48-36-72', 'Москва, ул.Тверская, д.16, кв.73'),

(10, 'Козлова Анна Львовна', '12-38-76', 'Пермь, ул.Адмиралтейская, д.32, кв.315');

 

 

Как только база данных была сформирована, к активному режиму перешёл следующий этап – создание сайта. Первым делом была создана главная страница index.php, которая не несёт под собой особого функционала, т.к. создана в качестве библиотеки, хранящей список таблиц БД, к которым можно получать доступ и вносить изменения.

<body>

<h1> Список таблиц </h1>

<ol>

<li><a href = "client.php">Клиент</a>

<li> <a href = "tarif.php">Тариф </a>

<li> <a href = "city.php">Город </a>

<li> <a href = "call.php">Звонки </a>

</body>

В дальнейшем потребовалось подключить базу данных к Web-интерфейсу. Чтобы получить доступ к БД из Web, используя PHP, необходимо выполнить следующие шаги:

· Подключение к серверу MySQL;

· Выбор базы данных;

· Выполнение запроса к базе данных;

· Получение результата запроса;

· Отсоединение от базы данных.

Для подключения к серверу MySQL в PHP использовалась функция mysql_connect( ).

Таким образом была подключена первая таблица БД «city»:

<?

if (!$link = mysql_connect('localhost', 'root', '')) {

echo 'Не удалось подключиться к mysql';

exit;

}

if (!mysql_select_db('newbas', $link)) {

echo 'Не удалось выбрать базу данных';

exit;

}

$sql = 'SELECT * FROM city';

$result = mysql_query($sql, $link);

if (!$result) {

echo "Ошибка DB, запрос не удался\n";

echo 'MySQL Error: ' . mysql_error();

exit;

}

echo "<table width=100% border = 1>";

echo "<tr><td>N<td>city<td>cod</tr>";

while ($row = mysql_fetch_assoc($result)) {

echo "<tr><td>".$row['id']."<td>".$row['city']."<td>".$row['cod']."</tr>";

}

echo "</table>";

mysql_free_result($result);

echo "<a href = 'index.php'>Главная</a>";

?>

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

Для создания возможности добавления информации в таблицы потребовалось создать соответствующие формы под каждую из них, с указанием необходимых полей. Например, форма для таблицы «Клиент» add_client.php:

<form name = "add_client_form" action = "add_client_in_BD.php" method = "POST">

ФИО <input type = "text" name = "fio"> <br> <br>

Телефон <input type = "text" name = "phone"> <br> <br>

Адрес <input type = "text" name = "address"> <br> <br>

<input type = "submit">

</form>

Как видно, в коде указана ссылка на следующий скрипт: add_client_in_BD.php, который выполняет непосредственную реализацию задуманного, внося заполненные изменения в базу данных с помощью sql запроса INSERT.

<?

error_reporting(0);

if (!$link = mysql_connect('localhost', 'root', '')) {

echo 'Не удалось подключиться к mysql';

exit;

}

if (!mysql_select_db('newbas', $link)) {

echo 'Не удалось выбрать базу данных';

exit;

}

$sql = "INSERT into klient (name, phone, address) values ('".$_POST['fio']."','".$_POST['phone']."','".$_POST['address']."')";

$result = mysql_query($sql, $link);

mysql_free_result($result);

header ("Location: http://lab1.local/client.php");

?>

Реализация удаления осуществляется гораздо проще, и всего лишь одним скриптом для каждой таблицы, с помощью sql-запроса DELETE:

<?

error_reporting(0);

if (!$link = mysql_connect('localhost', 'root', '')) {

echo 'Не удалось подключиться к mysql';

exit;

}

if (!mysql_select_db('newbas', $link)) {

echo 'Не удалось выбрать базу данных';

exit;

}

$sql = "DELETE from klient where id = ".$_GET['id'];

$result = mysql_query($sql, $link);

mysql_free_result($result);

header ("Location: http://lab1.local/client.php");

?>

Удаление осуществляется при нажатии на крестик напротив соответствующей записи, подобный способ реализован в основном php-скрипте таблицы client.php:

<td align = 'center'><a href = 'delete_client.php?id=".$row['id']."'

onclick= \"return confirmDelete ('Вы действительно хотите удалить запись?')\">

<image src = 'images/b_drop.png'></tr>";

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

<td align = 'center'><a href = 'edit_form.php?id=".$row['id']."'><img src = 'images/b_edit.png'> </tr>";

При нажатии происходит переход в форму редактирования edit_form.php. Процедура вызова формы намного затрудняется, т.к. прежде чем вносить изменения необходимо получить доступ к изменяемым данным, для этого в данном скрипте используется sql-запрос SELECT:

<?

if (!$link = mysql_connect('localhost', 'root', '')) {

echo 'Не удалось подключиться к mysql';

exit;

}

if (!mysql_select_db('newbas', $link)) {

echo 'Не удалось выбрать базу данных';

exit;

}

$sql = 'SELECT* FROM klient where id = '.$_GET['id'];

$result = mysql_query($sql, $link);

if (!$result) {

echo "Ошибка DB, запрос не удался\n";

echo 'MySQL Error: ' . mysql_error();

exit;

}

while ($row = mysql_fetch_assoc($result)) {

echo "<form name = \"add_client_form\" action = \"edit_client_in_BD.php\" method = \"POST\">";

echo "ФИО <input type = \"text\" name = \"fio\" size = 50 value = \"".$row['name']."\"><br><br>";

echo "Телефон <input type = \"text\" name = \"phone\" size = 50 value = \"".$row['phone']."\"><br><br>";

echo "Адрес <input type = \"text\" name = \"address\" size = 50 value = \"".$row['address']."\"><br><br>";

echo "<input type = \"hidden\" name = \"id\" value = \"".$row['id']."\">";

echo "<input type = \"submit\">";

echo "</form>";

}

?>

Затем в силу вступает второй скрипт edit_client_in_BD.php, как ясно из названия, предназначенный для непосредственного внесения изменений в саму базу данных с помощью sql-запроса UPDATE

<?

error_reporting(0);

if (!$link = mysql_connect('localhost', 'root', '')) {

echo 'Не удалось подключиться к mysql';

exit;

}

if (!mysql_select_db('newbas', $link)) {

echo 'Не удалось выбрать базу данных';

exit;

}

$sql = "UPDATE klient set name = '".$_POST['fio']."', phone = '".$_POST['phone']."', address = '".$_POST['address']."' where id = ".$_POST['id'];

//echo $sql;

$result = mysql_query($sql, $link);

mysql_free_result($result);

header ("Location: http://lab1.local/client.php");

?>

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

 





Дата добавления: 2015-06-30; Просмотров: 78; Нарушение авторских прав?;


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Читайте также:

  1. B. С использованием режима J3E или H3E, что удобнее.
  2. III. Создание послевоенного романтизма.
  3. Seo-оптимизатору и Web-мастеру Сервисы по продвижению вашего блога, сайта, интенет-магазина
  4. Борьба за создание II Интернационала
  5. Быстрое создание отправного пункта.
  6. Взаимосвязь между использованием территорий, интен сивностью движения и количеством происшествий
  7. Возможно использование сайта ИПиУ
  8. ВОПРОС №2 Внешняя политика СССР после окончания Великой Отечественной войны. Начало «холодной войны», гонка вооружений и создание военно-политических блоков.
  9. Воссоздание российской государственности
  10. ВТОРОЙ ЭТАП- создание структуры
  11. Выдача наличных с использованием банковской карты и ПИН-кода
  12. Выше показано, что на создание материи по массе, равную массе Земли, Солнцу требуется непрерывно выделять свою энергию на протяжении около 43 миллионов лет.




studopedia.su - Студопедия (2013 - 2017) год. Не является автором материалов, а предоставляет студентам возможность бесплатного обучения и использования! Последнее добавление ip: 54.80.77.124
Генерация страницы за: 0.016 сек.