- •Технология организации баз данных и знаний
- •Методические указания к выполнению лабораторных работ
- •Методические указания к выполнению лабораторных работ
- •Предисловие
- •Библиографический список
- •Лабораторная работа № 1 Тема №1. ИнсталляцияMySqLи создание локального сервера
- •1. Цель работы
- •2. Основные технические возможности
- •3. Описание установки
- •4. Порядок выполнения работы
- •5. Содержание отчета
- •Лабораторная работа № 1
- •6. Содержание отчета
- •Лабораторная работа № 2 Тема №1. Создание баз и таблиц данных
- •1. Цель работы
- •2. Основные сведения
- •3. Программа работы
- •4. Указания к выполнению работы
- •3. Программа работы
- •00 Проверка моего домена с именем Moy.Loc
- •4. Указания к выполнению работы
- •5. Содержание отчета
- •3. Указания к выполнению работы
- •Задание 2: Разработать html-форму с методом Post
- •Тема №2. Передача значений переменным в сценариях php. Использование возможностей метода get без html-формы для передачи значений переменных в сценариях php
- •Тема №3. Создание формы и рнр-сценария в одном файле
- •Задание 1: Получение данных из текстового поля
- •I курсив
- •Тема №4. Использование чисел. Управляющие структуры
- •Тема №5. Использование управляющей структурыswitch
- •Тема № 6. Использование регулярных выражений в сценариях рнр
- •Проверка ошибок
- •Задание 1. Вывод информации о ошибочно заполненных полях формы
- •Задание 2. Использование функций пользователя для контроля полей формы
- •Задание 3. Проверка ограничений в текстовом поле.Lab6_0_2.Php
- •Задание 4. Специфика имени пользователя. Lab6_0_3.Php
- •Задание 5. Специфика имени пользователя с помощью JavaScript. Lab6_0_4.Php
- •Тема №7. Работа с массивами
- •Задание 1. Означивание массива и вывод на экран. Lab7_0.Php.
- •Задание 4. Сортировка массива.Lab7_3.Php.
- •Тема №8. Функции в сценариях рнр
- •Задание 1. Вложенные функции.Lab8_0_0.Php
- •Задание 2. Объявление функций внутри других функций.Lab8_0.Php
- •Задание 3. Возврат значений функцией.Lab8_1.Php
- •Задание 4. Возврат нескольких значений функцией.Lab8_2.Php
- •Задание 5. Возвращение функцией нескольких величин.Lab8_3.Php
- •Задание 6. Рекурсивные функции .Lab8_4.Php
- •Задание 7. Функции-переменные.Lab8_5.Php
- •Задание 8. Построение библиотек функций.Lab8_6_0.Php.
- •Задание 9. Построение шаблона сайта.Lab8_7_0.Php.
- •Тема №9. Использование файлов для хранения данных в сценариях рнр
- •Создание сценария загрузки.
- •Задание 3. Сохранение пользовательских данных в текстовом файлеLab9_5.Php
- •Задание 4. Сохранение пользовательских данных в текстовом файлеLab9_6_0.Php
- •Тема № 10. Работа с каталогами в сценариях рнр
- •Тема №11. Создание панели управления файлами
- •Задание 1. Разработать форму и сопутствующее ей приложение для панели управления файлами.
- •Тема № 12.Работа с базой через монтторMySql и PhpMyAdmin
- •Задание 1. Создать базу данных через командную строку
- •Задание 3. Вставка данных в базу данных
- •Задание 4. Создание командных файлов и файлов сценариев для вставки данных в базу данных.
- •Тема № 13. Извлечение данных из базы данных
- •Задание 1. Оператор выборки данныхSelect
- •Задание 2. Извлечение данных по определенному критерию
- •Задание 3. Извлечение данных из нескольких таблиц
- •Задание 4. Поиск несоответствующих строк
- •Задание 5. Использование псевдонимов имен таблиц (as)
- •Задание 6. Извлечение данных в определенном порядке
- •Задание 7. Группировка и агрегирование данных
- •Задание 8. Обновление записей в базе данных (update)
- •Задание 10. Удаление записей, таблиц и базы данных (delete)
- •Тема № 14.Php и MySql. Доступ к базе данных MySql из Web с помощью рнр
- •Задание 1. Изучение работы архитектуры Web-баз данных
- •Задание 2. Проверка и фильтрация данных, исходящих от пользователя. Использование объектно-ориентированного синтаксисаPhp
- •Задание 3. Внесение новой информации в базу данных. Проверка и фильтрация данных, исходящих от администратора
- •Задание 4. Создание и удаление баз данных
- •Содержание
00 Проверка моего домена с именем Moy.Loc
Шаг 4. Находясь на выделенном файле в Total Commander нажмите клавишу F4 (Редактировать) и Вы должны увидеть полный текст программы, показанный на шаге 2.
Теперь необходимо модифицировать файл Index.php и вставить в него операторы языка PHP для обращения к хранимой информации (рис. 2.29) в таблице Lessons базы данных My_Base.
<html>
<body>
<p> Проверка моего домена с именем Moy.loc </p>
<? echo "Проверка вставки PHP кода в содержимое HTML" ?>
</body>
</html>
Рис. 2.27. Текст программного кода файла index.php до модификации.
Запустите сервер и укажите в адресной строкеhttp://moy.loc/.
Рис. 2.28. Сайт до модификации на основе кода файла index.php из рис. 2.26а.
Не закрывая сервер, модифицируйте файл index.php. Вставьте, например, в 3-й строке слово NEW и сохраните его. Нажмите кнопку “Обновить” в браузере
Рис. 2.29. Обновление файла index.php без перезагрузки сервера.
Рассмотренный прием позволяет экономить Ваше время при отладке программ.
Ниже (рис. 2.30) приводится текст модифицированной программы из рис. 2.27 и результат запроса (рис. 2.31) к базе данных My_base на основании встроенного PHP кода (строки 6-12). Для учебных целей строки программы пронумерованы и физически они в файле index.php не присутствуют.
В отличие от кода представленного на рис. 2.27, в программе на рис. 2.30 присутствует встроенный PHP код и интерпретируемые операторы обращения к базе данных. Заметим, что сам язык SQL (а точнее его диалект для СУБД MySQL) не имеет никакого отношения ни к языку HTML, ни к языку PHP.
1 <html>
2 <body>
3 <p> NEW Проверка моего домена с именем Moy.loc </p>
4 <? echo "Проверка вставки PHP кода в содержимое HTML" ?><br>
5
6 <?
7 $db = mysql_connect("localhost","people","12345");
8 mysql_select_db ("my_base",$db);
9 $result = mysql_query ("SELECT * FROM lesonss ", $db);
10 $num = mysql_num_rows ($result);
11 echo "Всего лекций в базе My_base, в таблице Lessons пока - $num";
12 ?>
13
14 </body>
15 </html>
Рис. 2.30. Модифицированный текст программного кода файла index.php.
Примечание. Не копируйте содержимое из рис. 2.30 в файл index.php. В том рисунке в тексте есть грамматическая ошибка.
Теперь, если в адресной строке браузера указать адрес http://moy.loc/ , то используя файл hosts система сформирует новое содержимое сайта, которое должно быть как показано на рис. 2.31, если Вы не получили подобное изображение, то посмотрите на рис. 2.32.
Рис. 2.31. Сайт после модификации на основе кода файла index.php.
Внимание ! Так должно быть. Но ! Ошибка будет раскрыта далее!
Поясним некоторые строки (рис. 2.30) кода языка PHP встроенные в язык HTML, позволяющие обратиться к базе данных MySQL и обратиться к хранимой в ней таблице Lessons для подсчета количества лекций хранимых в этой таблице.
Шестая и двенадцатая строка является стандартом, указывающим интерпретатору, что все расположенное между этими строками относится к языку PHP.
Седьмая строка (рис. 2.30)
$db = mysql_connect("localhost","people","12345");
осуществляет соединение с СУБД MySQL для пользователя с именем "people", имеющего пароль "12345". Первый параметр функции "localhost", указывает, что информация должна браться с текущего (локального) компьютера. Успешность соединения с сервером СУБД MySQL фиксируется в переменной (идентификаторе) $db.
Восьмая строка, используя встроенную функцию языка PHP
mysql_select_db ("my_base", $db);
позволяет обратиться к базе данных с именем "my_base", используя идентификатор $db.
Девятая строка (рис. 2.30), используя встроенную функцию языка PHP mysql_query
$result = mysql_query ("SELECT * FROM lesonss ", $db);
реализует запрос к таблице lessons базы данных на основе оператора языка SQL SELECT. Этот первый параметр (обязательно в двойных ковычках) является конструкцией языка SQL. Вторым оператором функции является идентификатор $db. Результат работы функции фиксируется в переменной с именем $result , которая по своей структуре является двумерным массивом.
Деcятая строка, используя встроенную функцию языка PHP mysql_num_rows
$num = mysql_num_rows ($result);
подсчитывает число строк в массиве $result , т.е. фактически определяет, сколько записей хранится в таблице lessons.
Одиннадцатая строка, используя встроенную функцию языка PHP echo
echo "Всего лекций в базе My_base, в таблице Lessons пока - $num";
обеспечивает вывод сообщения на экран. Внутри этого сообщения могут быть использованы объявленные в теле программы переменные. В нашем случае такой переменной является переменная $num.
Пятая и тринадцатая строка в тексте программы (рис. 2.30) вставлены для читаемости текста. В четвертой строке использован тег переноса <br>, который заставляет осуществлять вывод последующей информации с новой строки экрана.