Arhiiv 2006 - 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 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 vähemalt kaks tabelit: kaubad ja tellimused. Veebiliides kuvab kaupu kaupade tabelist ja lisab tellimusi tellimuste tabelisse. Viimases peab olema realiseeritud seos kaupade tabeliga (st kaupade tabeli kauba id).

Konkreetsed vajalikud tulbad tabelis 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

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

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


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

<body>
Tere!
<p>
<?

$username="test";
$password="";
$database="test";

mysql_connect("earl.itcollege.ee",$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();
?>

<p>
Valmis.

</body>

Juhendid

Vaata tutoriale ja dokumentatsiooni:

Lisanäide loengust

<body>
Tere!
<p>


<form action="?" method="get">

 <p>Toote nimi: <input type="text" name="nimi"
  value="<? echo $_GET['nimi'] ?>"
  /></p>
 <p><input type="submit" /></p>

</form>


<?

$username="test";
$password="";
$database="test";

mysql_connect("earl.itcollege.ee",$username,$password);

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

$query = "select * from tanel";
if (isset($_GET['nimi'])) {
 /* $query = "select * from tanel where name='${_GET['nimi']}'";
  */
 $query = "select * from tanel where name like '%".$_GET['nimi']."%'";
} else {
 $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();
?>