Wednesday, September 19, 2007

Dodavanje podataka u bazu

Da bi dodali podatke u bazu preko vaše web aplikacije možete da stavite na formu nekoliko editbox-a i labela (labele nisu neophodne ali zasigurno pomažu da se korisnije orijentiše koje polje (edit box) je za šta) i možemo da dodamo još jedno dugme koje ce služiti da pošalje vrednosti iz EditBoxa u bazu.




Ove komponente, Edit boxes, labels, buttons,… dodajete iz tool palete a nalaze se u delu standard.



Ne zaboravite da u sekciji Name promenite svakoj Edit komponenti ime u ona koja cete da koristite, nije veliki problem ako ostavite i imena koja vam predlozi sam Delphi for PHP, ali kad vam se u projektu pojavi Edit1, Edit2, ..., Edit152 ajd upamtite koji je za sta :) Zato cemo da im promenimo imena (bar cu ja to da uradim) u IDEdit, FNameEdit, LNameEdit, AdressEdit, PhoneNumEdit.




I na kraju rasporedite komponente kako vam najviše odgovara.


Ja sam ih rasporedio kao na slici ispod…



Da bi poslali vrednosti iz edit box-a našoj bazi podataka,mi možemo da koristimo nekoliko metoda, ja koristim kombinaciju Delphi for PHP-a i MySQL-a (za sada :) ).


Da napomenem i to da pošto mi “kazemo” programu da doda one vrednosti koje je korisnik uneo u bazu, mi to saopstavamo tako što kliknemo na dugme koje smo stavili na formu, a to dugme mi isprogramiramo kodom. Da bi dosli do dela za unos koda mi jednostavno dok smo u design pogledu na formu mozemo da uradimo dvoklik na taster koji želimo da isprogramiramo i automatski ce Delphi for PHP da kreira funkciju koja ce se izvrsavati na naš klik mišem kad budemo pokrenuli aplikaciju.



Mi možemo da koristimo kod u ovom formatu da bi napunili bazu podacima:

$this->YourDatabaseName->execute("INSERT INTO YourTableName (YourFieldName)
VALUES ("SomeValue")");


U našem slucaju, pošto cemo da citamo vrednosti koje ce neki korisnik da unosi u polja na formi (u edit boxove),mi cemo da koristimo malo modifikovani kod od onog gore; razlika je u tome što onde direktno koristimo neke vrednosti za dodavanje u bazu a ovde citamo vrednosti koje korisnik unese u polja na formi da bi ih dodali u bazu; znaci nakon sto uradite dvoklik na dugme koje cemo da programiramo unesite ovaj kod u telo funkcije:


$this->dbMyDatabase1->execute("INSERT
INTO sometable (ID,FirstName,LastName,Adress,PhoneNumber) VALUES ('".$this->IDEdit->Text."','".$this->FNameEdit->Text."',
'".$this->LNameEdit->Text."','".$this->AdressEdit->Text."',
'".$this->PhoneNumEdit->Text."')");

Šta radi ovaj kod?


Ovaj kod znaci radi baš ono što sam naveo. Dakle, povežemo se prvo na bazu i izvršimo MySQL komandu.? Njome kažemo programu da redom u polja ID, FirstName, LastName, Adress i PhoneNumber smesti podatke (opet onim redom kojim su navedena imena polja koja popunjavamo) iz edit box-ova koji su na formi naše web aplikacije.


Mi ovde ne moramo da navodimo tip polja ni ništa jer ce Delphi for PHP automatski da ih prepozna i popuni na odgovarajuci nacin.

Šta nam preostaje sada? Pa sada nam preostaje da pokrenemo našu web aplikaciju i da vidimo da li radi ono što bi trebalo da radi. Kliknite na RUN i kada se pokrene aplikacija popunite bazu nekim vrednostima :D



Unesite neke vrednosti u edit box-ove i kliknite na dugme da bi poslali podatke u bazu.;)


Mala napomena!

Ako se secate, na samom pocetku kad smo definisali polja koja cemo imati u tabeli, stavili smo da imamo jedno polje primarnog kljuca, polje ID, sto znaci, podaci koje unostite trebalo bi da imaju razlicitu vrednost za id, tj. da vodite racuna da budu jedinstveni ;)

No comments: