Publikuar me : 22.01.2010 Kategoria : Manual PHP Lexuar : 115 here.
Ne pjesen 4 do tiu tregojme si te perdorni forma dhe variabla per te shtuar informacione dhe per te shfaqur informacionet nga baza e te dhenave.
Hyrje Ne kete manual, deri tani mesuam si te krijojme nje baze te dhenash, nje tabele per informacionet tona dhe komandat baze per te shtuar informacione nga PHP. Ndersa ne kete pjese do te meremi edhe me HTML, per te krijuar nje faqe e cila do te sherbeje per regjistrimin e kontakteve dhe nje faqe per shfaqjen e informacioneve te regjistruara ne tabelen tone. Hyrja nga HTML Hyrja e te dhenave me HTML eshte pothuajse e njejte me hyrjen PHP. Por ndryshe nga PHP, nuk do te na duhet me te ndryshojme te dhenat qe duam te regjistrojme manualisht, por do te perdorim nje forme e cila na mundeson regjistrimin e te dhenave te reja cdo here qe duam, nga ne ose nga vizitoret e faqes tone. Kodi i meposhtem do te shfaq nje faqe HTML me hapsirat perkatese :
| Kodi:
|
<form action="shto.php" method="post"> Emri: <input type="text" name="first"><br> Mbiemri: <input type="text" name="last"><br> Telefon: <input type="text" name="phone"><br> Celular: <input type="text" name="mobile"><br> Fax: <input type="text" name="fax"><br> E-mail: <input type="text" name="email"><br> Web: <input type="text" name="web"><br> <input type="Submit" value=”Shto !”> </form>
|
Normalisht kjo faqe mund te rregullohet edhe me mire, por kjo eshte nje forme standarte e cila ju mundeson te filloni te perdorni gjithcka thame deri tani. Tashme le te marim edhe njehere kodin PHP qe kemi permendur me siper :
| Kodi:
|
<?php $username="emriperdoruesit"; //root $password="fjalekalimi"; // lereni bosh $database="baza_e_te_dhenave"; //axhenda $first=$_POST['first']; $last=$_POST['last']; $phone=$_POST['phone']; $mobile=$_POST['mobile']; $fax=$_POST['fax']; $email=$_POST['email']; $web=$_POST['web']; mysql_connect(localhost,$username,$password); @mysql_select_db($database) or die( "Nuk mund te zgjedh bazen e te dhenave !"); $query = "INSERT INTO kontaktet VALUES ('','$first','$last','$phone','$mobile','$fax','$email','$web')"; mysql_query($query); mysql_close(); ?>
|
Ky kod tashme duhet ruajtur ne nje dokument te emertuar shto.php, keshtu mund te therritet nga forma HTML qe krijuam me siper. Kjo menyre funksionon, sepse ne vend qe vlerat te vendosen manualisht ne PHP do te vendosen ne variabla te ndryshem te cilat me pas do te marin vlerat e derguara nepermjet formes HTML. Gjithashtu mund te vendoset edhe nje mesazh i cili konfirmon shtimin e te dhenave, gjithesesi nese nuk dini ta beni kete, vazhdoni te lexoni kete manual. Shfaqja e Informacioneve Tashme keni te pakten nje regjistrim, mbase edhe me shume, keshtu tani po prisni te dini si ti shfaqni keto informacione te ruajtura ne bazen e te dhenave nepermjet PHP. Para se te fillojme duhet te njihni blloqet riperseritese (loop) te cilat jane te domozdoshme per shfaqjen e informacioneve ne PHP. Komanda e pare MySQL e cila krijon thirrjen eshte e tille :
| Kodi:
|
SELECT * FROM kontaktet
|
Kjo eshte nje komande baze e MySQL pasi i tregon skriptit tone te zgjedh te gjitha ruajtjet qe gjenden ne tabelen kontaktet. Duke ditur qe nga kjo komande do te kemi nje rezultat, duhet tia kalojme vlerat nje variabli :
| Kodi:
|
$query="SELECT * FROM kontaktet"; $result=mysql_query($query);
|
Ne kete rast te ghjitha rezultatet ose permbajtjet e thirrjes MySQL gjenden ne nje array te cilen emertuam $result. Para se te shfaqim informacionin duhet te ndajme cdo pjese ne nje variabel te ndare. Per ta bere kete ka dy hapa. Numerimi i Rreshtave Para se te vazhduar me tej me te dhenat e ngarkuara, duhet te dini se sa rreshta ose regjistrime ka ne bazen e te dhenave. Kete te dhene mund ta shkruani gjithashtu manualisht ne scriptin tuaj por nuk eshte nje praktike e mire, pasi ne cdo ndryshim do te duhet te vendosni manualisht numrin e rreshtave. Keshtu, mjafton te perdorni kete komande :
| Kodi:
|
$num=mysql_numrows($result);
|
Kjoi komande do ti hedh variablit $num, numrin e rreshtave te regjistruar ne tabelen tone. Ky informacion tashme mund te perdoret per te shfaqur e dhenat ne bllok riperserites. Vendosja e bllokut peresrites Duhet te dini si te vendosni nje bllok perserites ne menyre qe te mare rezultatin dhe te stampoje (shfaq ne ekran) te dhenat qe gjkenden ne cdo rresht. Duke perdorur variablin $num qe percaktuam me larte, eshte shume e thjeshte te realizojme kete veprim. Ne kodin e meposhtem perdorim variablin $i i cili do te perseris veprimet deri ne rreshtin e fundit te tabeles dhe percakton ku gjendet rreshti i fundit qe duhet shfaqur, keshtu ndalon edhe ne thirrjen e fundit.
| Kodi:
|
$i=0; while ($i < $num) { Ketu vendoset kodi dhe veprimet tona $i++; }
|
Ky eshte nje bllok standart riperterites ne PHP dhe do te egzekudoje kodin ne sasine e duhur. Cdo here $i do te jete me e madhe se radhen e kaluar. Kjo menyre eshte mjaft praktike pasi i tregon skriptit cilin rresht te therrese nga baza e te dhenave. Si rresht i pare ne MySQL rezultati i pare eshte 0, kjo do te punoje ne rregull. Hedhja e te dhenave ne Variabla Pjesa perfundimtare e scriptit tone eshte hedhja e cdo pjese informacioni ne nje variabel te vetin. Kodi qe vijon sherben per te kryer kete veprim :
| Kodi:
|
$variable=mysql_result($result,$i,"hapsira");
|
Keshtu per te mare cdo pjese te bazes tone te te dhenave mund te veprojme si me poshte :
| Kodi:
|
$first=mysql_result($result,$i,"first"); $last=mysql_result($result,$i,"last"); $phone=mysql_result($result,$i,"phone"); $mobile=mysql_result($result,$i,"mobile"); $fax=mysql_result($result,$i,"fax"); $email=mysql_result($result,$i,"email"); $web=mysql_result($result,$i,"web");
|
Nuk kemi nevoje te marim hapsiren ID pasi nuk na duhet ne shfaqjen e informacionit. Kombinimi i Skriptit Tashme mund te shkruajme te gjith skriptin qe sherben per te shfaqur informacionet tona. Ketu te dhenat e shfaqura nuk jane te formatuara :
| Kodi:
|
<?php $username="emriperdoruesit"; //root $password="fjalekalimi"; // lereni bosh $database="baza_e_te_dhenave"; //axhenda mysql_connect(localhost,$username,$password); @mysql_select_db($database) or die( ""Nuk mund te zgjedh bazen e te dhenave !"); $query="SELECT * FROM kontaktet"; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close(); echo "<b><center>Shfaqja e Informacioneve !</center></b><br><br>"; $i=0; while ($i < $num) { $first=mysql_result($result,$i,"first"); $last=mysql_result($result,$i,"last"); $phone=mysql_result($result,$i,"phone"); $mobile=mysql_result($result,$i,"mobile"); $fax=mysql_result($result,$i,"fax"); $email=mysql_result($result,$i,"email"); $web=mysql_result($result,$i,"web"); echo "<b>$first $last</b><br>Telefon: $phone<br>Celular: $mobile<br>Fax: $fax<br>E-mail: $email<br>Web: $web<br><hr><br>"; $i++; } ?>
|
|