IntroducerePana acum ai invatat cum sa pui informatiile in baza de date MySQL, cum sa vezi aceste informatii din baza de date, selectand care din ele vrei sa le vezi. In aceasta lectie vei vedea cum faci cele doua actiuni finale, actualizarea bazei de date si stergerea unor inregistrari din ea.
Script-ul de actualizareAi vazut in lectia anterioara cum creezi o legatura pentru fiecare inregistrare pentru a te pozitiona in scriptul de actualizare. Prin folosirea variabilei $id , legaturile respective pot transmite valoarea corecta a identificatorului ID catre script, astfel ca acesta sa poata actualiza baza de date. Vei realiza deci un script de actualizare, care va avea doua parti:
Pagina de afisare a actualizariiPrima parte a script-ului de actualizare foloseste procedeul de selectie a unei singure inregistrari, asa cum l-ai scris in lectia precedenta, adaugand doar cateva elemente HTML pentru a-l face mai util. Mai intai, te connectezi la baza de date si selectezi inregistrarea potrivita.
$id=$_GET['id'];
$username="nume_utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);
$query=" SELECT * FROM produse WHERE produsID='$id'";
$result=mysql_query($query);
$num=mysql_numrows($rezultat);
mysql_close();
$i=0;
while ($i < $num) {
$nume=mysql_result($rezultat,$i,"nume");
$pret=mysql_result($rezultat,$i,"pret");
Zona de cod suplimentar
++$i;
}
|
Unde 'Zona de cod suplimentar' marcheaza portiunea din script unde vor apare comenzile de actualizare. Adica formatarea HTML pentru scoatere:
<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo "$id"; ?>">
Nume: <input type="text" value="ud_nume" value="<? echo "$nume"?>"><br> Pret: <input type="text" value="ud_pret" value="<? echo "$pret"?>"><br>
<input type="Submit" value="Update">
</form>
|
Asa cum se poate vedea, aceasta secventa construieste (scoate) un formular standard, dar in locul zonelor goale, asa cum apareau in formularul pentru introducerea datelor, de data asta avem continutul campului respectiv din inregistrarea in cauza (care-i de actualizat). Asta il face mai adaptat scopului, mai comod de folosit.
Actualizarea bazei de dateTot ce mai ai de facut este actualizarea efectiva a bazei de date. Asta este o operatie simpla care implica o noua cerere pentru baza de date:
$query = "UPDATE produse SET nume = '$ud_nume',pret = '$ud_pret' WHERE produsID = '$ud_id'";
|
Aceasta cerere spune sistemului de gestiune de baze de date sa actualizeze tabela produse in acele linii in care ID coincide cu valoarea din $ud_id (care, asa cum se poate vedea din formularul anterior, a primit valoarea id a inregistrarii pe care o actualizam), modificand urmatoarele campuri cu valorile specificate (care au fost introduse cu ajutorul formularului).
Aceasta cerere poate fi inglobata intr-un script simplu:
$ud_id=$_POST['ud_id'];
$ud_nume=$_POST['ud_nume'];
$ud_pret=$_POST['ud_pret'];
$username="nume_utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);
$query="UPDATE produse WHERE produsID='$ud_id' SET nume='$ud_nume' pret='$ud_pret?";
mysql_query($query);
echo "Actualizarea s-a facut";
mysql_close();
|
Asta va actualiza baza de date transmitand si o confirmare utilizatorului.
Stergerea inregistrarilorUltima parte a acestei lectii priveste modul cum stergi o inregistrare dim baza de date. Ca si cu pagina de actualizare, vei construi o pagina pentru a sterge una sau mai multe linii din baza de date. Trebuie sa-i transmiti pozitia (ID-ul) inregistrarii, printr-un URL, spre exemplu:
Scriptul care va face asta, numit delete.php, este aproape identic cu cel de actualizare a bazei de date, cu exceptia comenzii MySQL (modului in care este construita cererea). In locul comenzii SQL UPDATE , vei folosi:
DELETE FROM contacts WHERE produsID='$id'
| |