Võrgurakendused I: ülesanne 3

Allikas: Lambda

Ülesandeks on ehitada minimaalsete võimalustega, kuid põhimõtteliselt funktsioniseeriv veebipood, mille kasutaja saab vaadata kaupu ja neid endale tellida. Veebipoe pidada lisab kaupu, vaatab tellimusi jne otse andmebaasist, st veebipoe pidaja liidest ei ole vaja teha. Tarvis on ehitada liides veebipoe ostjale.

Veebipoe ostja ennast ei autendi. Ostjal on võimalik teha kahte asja:

  • vaadata poes müügil olevaid kaupu: nimi, hind, ühik (tk, liitreid vms)
  • tellida endale müügil olevaid kaupu, valides neist mõne(d) välja ning sisestades soovitava koguse ja oma kontaktandmed.

Meie eelduse kohaselt võtab veebipoe pidaja tellimuse info järgi ostjaga ise ühendust: maksmine, laoseis jne jne ei ole enam rakenduse mure.

Veebipoe jaoks on tarvis realiseerida MySQL-s vajalikud tabelid. Veebiliides kuvab kaupu kaupade tabelist ja lisab tellimusi tellimuste tabelisse. Viimases peab olema realiseeritud seos kaupade tabeliga. Andmebaas peab olema nn. kolmandas normaalkujus, mis tähendab laias laastus järgmist:

  • Andmeid ei ole kuskil topelt (kui kauba nimetus on juba kaupade tabelis, siis tellimustesse seda ei kopeerita).
  • Andmed ei ole väljades pakitud (puuduvad mingid komaga eraldatud id-sid vms sisaldavad tulbad).
  • Puuduvad sarnaseid andmeid sisaldavaid nö korduvad tulbad (kaup1, kaup2, kaup3 jne).

Konkreetsed vajalikud tulbad tabelites vali/otsusta ise.

Tabelite nimed ja andmebaas

MySQL-s on soovitav kasutada vaikimisi, paroolideta andmebaasi nimega test.

Loodavate tabelite nime lõppu pane tingimata oma matriklinumber, näiteks nii: kaubad_1234, tellimused_1234.

Siis ei lähe sinu tabel teiste tudengite tabeliga segamini.

Algandmed sisestada kaupade andmebaasi ise, näiteks MySql käsurealt.

Vajalik info itcollege MySQL kohta

MySQL veebiliides on aadressil https://www.itcollege.ee/phpMyAdmin (NB! aeglasem kui käsurida)

Ühenduse võtmise näide MySQL käsurealt:

Logi SSH-ga enos.itcollege.ee nimelise masina peale (kui Sul ei ole ssh klienti, siis tõmba endale Putty nimeline vidin http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

/usr/sfw/bin/mysql -u test -h earl
use test;
select * from tanel;
exit;

Ühenduse võtmise näide PHP-st:

<?php

$host="earl.itcollege.ee";
$username="test";
$password="";
$database="test";

mysql_connect($host,$username,$password);

@mysql_select_db($database) or die("Unable to select database");

$query = "select * from tanel";
$result=mysql_query($query);
$num=mysql_numrows($result);

$i=0;
while ($i < $num) {
  $id=mysql_result($result,$i,"id");
  $name=mysql_result($result,$i,"name");

  echo "$id: $name <br>";
$i++;
}

mysql_close();
?>

Juhendid

Vaata tutoriale ja dokumentatsiooni: