Professional Documents
Culture Documents
PraktikumIT-V4 NoRestriction
PraktikumIT-V4 NoRestriction
Задатак је направити Веб апликацију која користи СУБП типа MySQL да би у бази
података чувала податке о студентима. О сваком студенту треба чувати следеће
податке:
• број индекса (колона Indeks типа varchar(255))
• име студента (колона Ime типа text)
• презиме студента (колона Prezime типа text)
У задатку текста је јасно дефинисан назив табеле, као и називи и типови атрибута које
треба креирати у бази. Једини додатак на наведено је додавање нове колоне ID чије
ће вредности бити типа цео број, самостално ће се повећавати код сваког новог
записа, а која ће се користити као примарни кључ табеле. У принципу, као примарни
кључ се може искористити и индекс студента, али пошто ове вредности могу бити
сложене (на пример да садрже знак "/" који може правити проблеме у обради)
сигурније је ићи на једноставнију, целобројну вредност.
Овај корак није неопходан пошто ће унос података бити омогућен и кроз саму
апликацију. Међутим, није лоше унети неколико редова у табелу да би се могла као
прва реализовати и тестирати функција прегледа података (која је значајно
једноставнија за реализацију од функције додавања).
Након уноса ових наредби у табели се налазе три записа. То се може проверити
путем наредбе:
+----+--------+-------+-----------+
| ID | Indeks | Ime | Prezime |
+----+--------+-------+-----------+
| 1 | 1/11 | Petar | Petrovic |
| 2 | 2/11 | Marko | Markovic |
| 3 | 3/11 | Lazar | Lazarevic |
+----+--------+-------+-----------+
Као што је у поставци задатка речено, апликација треба да поседује четири основне
функције за рад са подацима:
• функција прегледања података је најједноставнија - извршава се у једном
кораку и нема улазних параметара;
• функција додавања података је умерено сложена - извршава се у два корака
(први корак је потпуно пасиван) и нема улазних параметара;
• функција уклањања податаке је умерено сложена - извршава се у једном
кораку и има улазних параметара;
• функција измене података је најсложенија - извршава се у два корака (оба
захтевају динамичку обраду и повезивање са сервером базе података) и има
улазних параметара;
Дакле, укупан број корака за извршавање свих функција апликације је шест, што је
уједно и број фајлова (скриптова, страница) које ће бити потребно креирати.
<!DOCTYPE html>
<html>
<head>
<title>Преглед студента</title>
<meta charset="UTF-8">
</head>
<body>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>Индекс</th>
<th>Име</th>
<th>Презиме</th>
</tr>
</thead>
<?php
// Приказ података
while ($red = mysqli_fetch_object($rezultat))
{
echo "<tr>\n";
echo " <td>{$red->ID}</td>\n";
echo " <td>{$red->Indeks}</td>\n";
echo " <td>{$red->Ime}</td>\n";
echo " <td>{$red->Prezime}</td>\n";
echo "</tr>\n";
}
?>
</table>
</body>
</html>
Акција додавања нових записа у табелу базе података одвија се у два корака:
1. попуњавање података у формулару и
2. упис података унетих од стране корисника у базу података.
У складу са наведеним, за акцију додавања нових студената потребно је апликацију
проширити за два нова фајла: dodavanje.html и dodavanje-db.php.
Улога фајла dodavanje.html је да садржи HTML формулар за унос података, а улога
фајла dodavanje-db.php је да податке из формулара упише у базу података.
Да бисмо формулар за додавање (dodavanje.html) повезали са основном страницом
(index.php), односно да бисмо јој омогућили приступ са те странице, потребно је да у
страници index.php након табеле:
...
</table>
</body>
</html>
...
</table>
<hr />
<a href="dodavanje.html">Додавање новог студента</dodavanje>
</body>
</html>
<?php
додамо још једну колону са линком који води ка страници за уклањање (uklanjanje-
db.php) а уједно и прослеђује ID студента чије податке желимо да уклонимо:
<?php
<!DOCTYPE html>
<html>
<head>
<title>Измена студента</title>
<meta charset="UTF-8">
</head>
<body>
<?php
?>
<form action="izmena-db.php" method="post">
ID: <input type="text" name="ID" value="<?php echo $Student->ID; ?>"
readonly />
<br />
Индекс: <input type="text" name="Indeks" value="<?php echo $Student-
>Indeks; ?>" />
<br />
Име: <input type="text" name="Ime" value="<?php echo $Student-
>Ime; ?>" />
<br />
Презиме: <input type="text" name="Prezime" value="<?php echo
$Student->Prezime; ?>" />
<hr />
<button type="submit">Измена</button>
</form>
</body>
</html>
Следећи корак је да, у складу са оним што је задато као дестинација за обраду
<?php
2. Због чега страница dodavanje.html може да има екстензију .html док код
странице izmena.php то није могуће?