Для разработки данного и последующих Web-приложений использовался Denwer (п. 2.1.1).
Рассмотрим пример простой учебной программы на PHP, которая позволяет добавлять, находить и изменять записи таблиц единиц измерения в базе данных заказов товаров с СУБД MySQL. Форма ведения справочника представлена на рисунке 3.2.1.1.
Рисунок 3.2.1.1 – Окно браузера с формой ведения справочника
Для создания базы данных с СУБД MySQL использовался визуальный редактор phpMyAdmin (рисунок 3.2.1.2).
В пособии код программы включался из реальных программ путем копирования из буфера. Поэтому длинные строки могут занимать в пособии ни одну, а несколько строк, что необходимо учитывать при изучении кода программ.
Рисунок 3.2.1.2 – Окно просмотра phpMyAdmin таблицы единиц измерения
Код программы sql.php на языке PHP (автор В.В. Плещев).
<HTML> <head> <title> Единицы Измерения </title></head>
if(!$rezult1) //проверка на ошибку выполнения запроса
exit ("Запись не добавлена:". mysql_error()); //ошибка при выполнении запроса
echo("Запись добавлена"); break; // вывод сообщения о добавлении записи
}
case 'Найти' // нажата кнопка «Найти»
{ $zapros2="select `наименование_едизм` from `едизм` where `код_едизм`='$kei'";
$rezult2=mysql_query ($zapros2); //выполнение запроса на поиск записи
$row = mysql_fetch_assoc($rezult2); //чтение полей записи в массив $row
$r=$row['наименование_едизм']; // выборка из массива поля “наименование_едизм”
if (!$row) echo("не нашлось"); //проверка на существование записи в запросе
echo($r);
break;
}
case 'Изменить' // если нажата кнопка «Изменить»
{ $zapros3="select `наименование_едизм` from `едизм` where `код_едизм`='$kei'";
$rezult3=mysql_query ($zapros3); //выполнение запроса на поиск записи
$row2 = mysql_fetch_assoc($rezult3); //чтение полей записи в массив $row2
$r2=$row2['наименование_едизм']; // выборка из массива поля “наименование_едизм”
if(!$row2) echo("не нашлось"); //проверка на существование записи в запросе
else //запись найдена
{ $zapros="update `едизм` set `наименование_едизм` = '$nei' where
`код_едизм`='$kei'"; //текст запроса на корректировку записи
$rezult=mysql_query ($zapros); //выполнение запроса на корректировку записи
if(!$rezult) exit ("не получилось". mysql_error());//проверка на ошибку
echo("изменено"); //сообщение об успешном изменении записи
}; //конец else
break;
}
} //конец оператора switch
?>
</body>
</HTML>
Таблица успеваемости студентов
Структура таблицы успеваемости студентов и вид формы в окне броузера показаны на рисунках 3.2.2.1, 3.2.2.2.
Рисунок 3.2.2.1 – Окно просмотра phpMyAdmin таблицы успеваемости студентов
Рисунок 3.2.2.2 – Окно браузера с формой ведения таблицы успеваемости
Кнопкой Найти выводятся записи, которые содержат указанный текст в наименовании учебного предмета (если текст не указан, то выводятся все записи).
Кнопкой Все записи выводятся все записи таблицы.
Кнопкой Очистить поля формы очищаются.
Кнопкой Выполнить выполняется корректировка таблицы в соответствии указанными “галочками“ в колонках признаков корректировки: изменить запись (карандашек), добавить запись (плюс) и удалить запись (корзина).
В пустой строке укзываются значения полей новой добавляемой в таблицу записи.
Код программы sql.php на языке PHP (автор Прозоров Андрей).
{ if ($search == "") //если строка поиска пустая, то выводим все записи
{ $zapros="select * from `студенты` order by `код`"; }
else
{ $zapros="select * from `студенты` where `наим_предмета` like '%$search%'
order by `код`"; // like нужен для поиска не полного слова
//Например есть предмет "Алгебра", в поиске вводим "Ал" и видим предметы в
// которых содержится "Ал"
}
$result=mysql_query ($zapros); //выполнение запроса на поиск записи
table($result); //передаем функции значение результата запроса
break;
} // конец Саse
case 'Все записи': //Нажата кнопка "Все записи"
{ $zapros="select * from `студенты` order by `код`";
result=mysql_query ($zapros); //выполнение запроса на поиск записи
table($result); //передаем функции значение результата запроса
break;
} конец Case
default
{ $zapros="select * from `студенты` order by `код`";
$result=mysql_query ($zapros);
table($result);
break;
} // конец Case
} //конец оператора switch
?>
</body>
</HTML>
Разработка Web-приложения на PHP для ведения таблицы единиц измерения в базе данных с СУБД Access
Изменим предыдущее Web-приложение для работы с базой данных с СУБД Access. Создадим базу данных (рисунок 3.3.1) и источник данных с ее описанием (п. 2.11.2) под именем Zakaz.
Для поиска успеваемости студента нужно ввести учетный номер студента (рисунок 3.4.2).
Рисунок 3.4.2 – Окно браузера с формой задания учетного номера студента
В результате нужно найти и вывести в окно браузера в виде табличной формы все записи с данными об успеваемости студента с указанным в форме учетным номером.
Рисунок 3.4.3 – Окно браузера с таблицей успеваемости студента
HTML-код формы входного документа (автор В.В. Плещев).
<p><input type="submit" name = "submit" value="Посмотреть" >
<input type="reset" value="Очистить"></p>
</form>
</body>
</HTML>
Код программы Uspevaemost.php на языке PHP (автор В.В. Плещев).
<?php
$username=""; //имя пользователя базы
$dbpass=""; // пароль базы
$dbname="АИС КГЭК"; //наименование источника данных с описанием базы данных
$link=odbc_connect($dbname,$username,$dbpass); //связь с базой данных
if(!$link) exit("Ошибка при подключении к БД"); //ошибка при подключении базы
$number=$_POST['number']; //чтение значения поля учетного номера студента
$zapros="SELECT [Успеваемость для сайта].* FROM [Успеваемость для сайта] WHERE [Успеваемость для сайта].[Учетный номер студента]=$number;"; //запрос на поиск