Разработка Web-приложения на PHP для поиска и вывода оценок студента из базы данных успеваемости с СУБД Access
Оценки студентов хранятся в таблице успеваемости для сайта (рисунок 3.4.1). Создадим источник данных с ее описанием (п. 2.11.2) под именем АИС КГЭК.
Рисунок 3.4.1 – Окно конструктора таблиц СУБД Access
Для поиска успеваемости студента нужно ввести учетный номер студента (рисунок 3.4.2).
Рисунок 3.4.2 – Окно браузера с формой задания учетного номера студента
В результате нужно найти и вывести в окно браузера в виде табличной формы все записи с данными об успеваемости студента с указанным в форме учетным номером.
Рисунок 3.4.3 – Окно браузера с таблицей успеваемости студента
HTML-код формы входного документа (автор В.В. Плещев).
<HTML> <head> <title>Успеваемость</title> </head>
<body>
<form name="usp" method = "POST" action = "Uspevaemost.php">
<p> Введите учётный номер студента </p>
<p> <input name="number" type="text" size="40"> </p>
<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;"; //запрос на поиск
$rezult=odbc_exec ($link,$zapros); //выполнение запроса
if(!$rezult) exit ("Ошибка при выполнении запроса"); //ошибка при выполнении запроса
$i=0;
while (odbc_fetch_row ($rezult)) //цикл чтения записей запроса
{ if ($i==0) //первая запись запроса, формирование наименования таблицы
{ $f=odbc_result($rezult, "Фамилия") . ", группа " . odbc_result($rezult, "Группа") ;
echo "<br> <b> <p align='center'>$f</b>"; $i=1;
echo '<table border="1">'; //формирование заголовка таблицы успеваемости
echo "<tr><b><td align='center' valign='top' ><b>№</b><td><b>Семестр
<td align='center' valign='top' ><b>Дисциплина</b>
<td align='center' valign='top' ><b>Испытание</b>
<td align='center' valign='top' ><b>Оценка</b>
<td align='center' valign='top' ><b>Дата</b>
<td align='center' valign='top' ><b>Преподаватель</b>
<td align='center' valign='top' ><b>Долг</b>";
} //формирование очередной строки таблицы с данными об учебном испытании
$semsetr=odbc_result($rezult, "Семестр");
$discip=trim(odbc_result($rezult, "Наименование варианта"));
$ispit=trim(odbc_result($rezult, "Испытание"));
$ocenka=odbc_result($rezult, "Оценка");
if ($ocenka==0) $ocenka="";
$dr=odbc_result($rezult, "Дата получения результата");
if ($dr) //форматирование даты
{ $dr2=$dr. "0000000000";
$dr2=substr($dr2,8,2) . "." . substr($dr2,5,2) . "." . substr($dr2,0,4);
}
else $dr2="";
$prepod=trim(odbc_result($rezult, "ФамПрепод"));
$sost=trim(odbc_result($rezult, "Действие"));
echo "<tr><td align='Center'>$i<td align='Center'>$semsetr<td>$discip<td>$ispit<td align='Center'>$ocenka<td>$dr2<td>$prepod<td align='Center'>$sost";
$i=$i+1;
}
if ($i==0) echo ("Нет записей с успеваемостью студента с указанным учётным номером!");
odbc_close($link); //закрытие базы данных
?>
Дата добавления: 2015-04-15; просмотров: 1546;