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 ;)

Friday, September 14, 2007

Pocetak za rad sa bazama...

U prethodnom postu mogli ste da vidite primer kako može da se kreira lako
i brzo neka baza podataka. Mi cemo sad da nastavimo sa ovde sa bazom koju smo kreirali na nacin opisan u prethodnom postu, a kasnije cu vam pokazati kako možete da kreirate ovu istu bazu i u “hodu”.

Najpre da vidimo i neke osnovne pojmove.

Npr.


Šta je to baza podataka i cemu služi?

Baza podataka služi da skladišti željene podatke, da te podatke organizuje po tabelama, i da ih zatim jednostavno i brzo dostavi takozvanom 'klijentu' koji traži te podatke.


Kako se to dostavljaju ti podaci ‘klijentu’ i šta je to uopšte?

Dakle mi na jednoj strani imamo server (gde se cuvaju podaci) - i na drugoj strani klijent (kome se dostavljaju podaci).


Komunikacija izmedju klijenta i servera se odvija SQL jezikom tako sto klijent posalje query (upit) serveru - i server posalje klijentu odgovor - tj. zeljene informacije vezane za upit koji je dobio.


SQL se primenjuje skoro u svim programskim jezicima.

Znaci svrha baza podataka je da brzo i efikasno mogu da se skladiste podaci i da lako može da se radi sa njima.


Pa, dakle da pocenemo mi konacno nešto konkretno…


Korak 2 – Povezivanje baze podataka sa vašom web aplikacijom. :)




Pokrenite vas Delphi for PHP; kad se program otvori docekace vas prijatno razvojno okruženje, koje ce vam na samom pocetku ponuditi par opcija za pocetak rada; mi cemo izabrati opciju new, da bi pokrenuli wizard, (preko kog cemo da napravimo našu web aplikaciju (praznu za sad)) kada se wizard otvori, automatski ce vam ponuditi da kreirate novu aplikaciju, tj. obeležice vam opciju application za kreiranje nove PHP aplikacije, vi samo kliknite na OK i aplikacija ce biti kreirana.


Naravno bice kreirana prazna aplikacija jer još ništa nismo poceli da programiramo, a docekace vas prozor kao na slici ispod. Na njemu mozete da razlikujete nekoliko glavnih celina: project manager, object inspector, tool palete, deo za meni i toolbar a u sredisnjem delu ce biti otvoren deo za formu vaše web aplikacije koji cete moci da menjate iz pogleda na formu u deo za code (design and code view) jednostavnim klikom na jezicak ispod forme u zavisnosti od toga šta vam treba.



Dakle, da pocnemo nešto konkretnije sad



Da bi mogli da koristimo bazu podataka koju smo u prethodnom delu kreirali moracemo da je registrujemo prvo. To cemo da uradimo tako što cemo da odemo na deo project manager i pronadjemo jezicak Data Explorer i tu kliknemo. I dobicemo u tom delu prozorcic kao na slici pored. Uocicete deo Database i odmah u okviru database dela i MySQL;desnim klikom na MySQL iz menija Database dobicete opciju Registar Database preko koje cemo da registrujemo našu bazu podataka i stavimo parametre koje ce da koristi naša web aplikacija da bi pristupala bazi.



I evo nam novog dijaloga koji se stvorio nakon što smo izabrali opciju register database.


Šta ovde radimo?

Ovde mi unosimo ime za konekciju koju cemo da ostvarimo sa našom bazom podataka; ja sam stavio EXEMPLE jer se ipak radi o primeru.

Pošto mi sve ovo sad isprobavamo na našoj masini (localhost-u) u tom delu cemo da stavimo localhost, a vi kad odlucite da radite ovo sa bazom koja je na netu stavicete naravno vaš host name; port cemo ostaviti standardni a user name i password takodje ce biti prazni jer nista nismo stavili ni pri instalaciji wamp servera koji nam omogucuje da sve ovo testiramo na nasem kompjuteru,ove parametre, opet kažem ako koristite bazu koja je na internetu treba da unesete vaš user name i password da bi vam vas host dozvolio da pristupite bazi podataka. ;)


Naravno da ne zaboravimo da unesemo i ime baze koju smo malopre kreirali, ako se secate moja baza se zvala “MyDatabase” pa cu zato to i da unesem ovde sada. Kada smo uneli sve trazene podatke preostaje nam samo da kliknemo na OK i baza ce biti registrovana ;)


Sada, pretpostavljam da zelite da prikazete na formu podatke koje cete da imate smestene u bazu. Kako to uraditi? Veoma lako.



Samo kliknite na ime tabele koju ste kreirali, prevucite je na formu i pustite taster miša. :)

I Delphi for PHP ce automatski da kreira DBGrid (za prikaz podataka iz vaše (naše ?) baze), i Table, Database i Datasource componente koje nam omogucuju pristup i manipulaciju podacima u bazi. ;) Naravno sve ove komponente možete da postavite i podesite i rucno tako što cete ih pronaci u Data Access meniju sa Tool Palette, ali ja ipak mislim da je ovo mnogo lakši i brzi nacin sa prevlacenjem na formu



Sada kad ste ovo uradili možete da pokrenete aplikaciju klikom na taster RUN ili preko tastature na F9, ili preko menija Run->Run.
Aplikacija ce biti startovana u vašem web browseru, ali ce DBGrid koji ce biti prikazan biti prazan. Zašto? Zato što jos nemamo nikakve podatke u bazi da bi bili prikazani.

Mora da napunimo bazu podataka prvo nekim podacima…


U sledecem postu kako napuniti bazu nekim podacima.


To be continued...

Wednesday, September 12, 2007

Pre nego sto predjemo na glavno jelo nesto malo i o onome sto ce nam trebati...

Pozdrav, evo mene kao sto sam i obecao…

Pre nego što predjemo na glavno jelo nešto malo i o onome što će nam trebati za rad u pozadini, a možemo da naučimo i nešto novo... WAMP

Pre nego sto krenemo na Delphi for PHP rekoh cisto da vam pokazem malo kako se radi sa WAMP-om tj. phpMyAdmin-om….


Inače da bi mogli da testiramo na našem kompjuteru kasnije web aplikacije koje ćemo da pravimo sa Delphi for PHP-om moramo da imamo podršku za PHP i MySQL (jer ćemo raditi i sa bazama kasnije). WAMP će nam to omogućiti jer sadrži PHP. MySQL, Apache u sebi…


Da bi instalirali WAMP server samo pratite veoma jednostavnu instalaciju i uputstva koja vam daje installer. Kad wamp server bude instaliran možete ga pronaći u sys tray-u (delu pored časovnika u donjem desnom uglu vašeg monitora). Pokrenućemo phpMyAdmin jednostavnim klikom na ikonicu wamp servera koji smo maločas instalirali i u jump meniju izabraćemo stavku phpMyAdmin i u browseru će se otvoriti prozor kao na slici.
















Možemo da koristimo phpMyAdmin da kreiramo baze podataka, jednostavno ukucamo ime baze koju želimo da kreiramo u polje pod nazivom “Create new database” i kliknemo na dugme Create.


Sada kada smo kreirali bazu podataka, veoma lako možemo d napravimo i tabelu u toj bazi u koju cemo da smeštamo podatke koje unosimo. Jednostavno ćemo uneti ime tabele koju želimo da napravimo (u nasem slučaju neka stoji “SomeTable” za ime tabele) i unećemo broj polja koja ćemo da koristimo (ja sam stavio za naš ovaj tutorijal 5 – jedno za ID, jedno za FirstName (ime), jedno za LastName (prezime), jedno za Address (adresu) i jedno za PhoneNumber (broj telefona) recimo ;) ).


Nakon što unesemo podatke za ime i broj polja tabele koju pravimo jednostavno ćemo da kliknemo na GO taster ba bi kreirali tabelu “SomeTable” u bazi podataka pod imenom “MyDatabase”.


Sada, pošto smo odredili broj polja koji cemo da koristimo, da bi ih razlikovali moramo da unesemo i njihova imena, unećemo imena naših polja i tip za svako polje, ja ovde koristim u ovom primeru jedino za polje ID celobrojni tip podataka (INT) jer ćemo da koristimo brojeve u tom polju, a za sva ostala polja cemo da stavimo TEXT, jer ćemo da koristimo neke tekstualne podatke za vrednosti tih polja.


Takodje, vi možete da definišete i veličinu vrednosti koja će se unositi u datim poljima i još gomilu drugih podešavanja, ali posto je ovo osnovni tutorijal taj deo ćemo preskočiti, jer nam trenutno nije potreban.



Takodje možemo da definišemo i koje polje će nam biti polje primarnog ključa; u našem slučaju stavićemo da bude polje ID. Kada završite sa unosom imena polja i podešavanjem vezanim za tip polja i odredjivanje primarnog kljuca jednostavno kliknite na save .



I čestitam, vaša baza sa tabelom i željenim poljima je uspesno kreirana. :)

Tuesday, September 11, 2007

Pozdrav svima koji su zalutali ovde i to posle duuuzeg vremena!

Pozdrav svima koji su zalutali ovde i to posle duzeg vremena!

Gde sam bio?
Sta da vam kazem, radilo se, ucilo se, lencarilo se...

Ovde rekoh da svratim i da kazem svima onima koji su nekim slucajem zalutali nekako ovde da cete uskoro moci da na ovom mom blogu pronadjete tutorial vezan za web programiranje u Delphi for PHP-u.

O cemu se radi?
Radi se o tome da nisam samo lencario do sad, vec i da sam poceo da ucim, a uporedo sa tim kako sam ucio pisao sam i jedan tutorial korak po korak za sve one koji bi da nauce Delphi for PHP.

Sta je Delphi for PHP?

Dakle ovako, Delphi for PHP je jedno relativno novo razvojno okruzenje, koje izmedju ostalog poseduje:

- RAD za PHP;

- VCL za PHP - open source biblioteke koje sadrze vise od 50 standardnih vizualnih komponenti i naravno prosirljiv je, tj. mozete da razvijate i komponente za sopstvene potrebe i da sve ove komponente brzo i lako koristite uz potpunu integraciju AJAX-a;

- Integrisan PHP debugger;

- Jos jedna od dobrih vesti je da ce vase web aplikacije raditi na svim platformama;

- Drag and drop razvoj aplikacija za rad s bazama podataka koristeći Data Explorer

- Naravno sadrzi i editor izvornog koda sadrzi Code Insight, Code Explorer i Code Templates za lakse i brze pisanje koda.

Ja vec par godina radim u Delphi-u, ali mi je moram da priznam izrada Desktop aplikacija postala malo dosadna (a i nema tu $), pa sam zato hteo sam da pocnem sa razvojem web aplikacija i poceo da trazim najbolji alat za to. Posto mi je Delphi bio prirastao za srce, iskreno nisam mogao da se odvojim od IDE-a (Integrated development environment-a) i da se prepustim nekom od text editora, odlucio sam se za Delphi for PHP iz razloga sto mislim da je to jedan od alata koji ce vrlo brzo da zazivi medju razvojnim alatima te vrste i “preraste ih” u svakom pogledu…

Naravno, nece se svi sloziti samnom u vezi toga, ali to je naravno moje misljenje, a svako drugi ima pravo na drugacije misljenje zar ne ;-)

Uskoro postavljam prvi deo tutoriala za Delphi for PHP na srpskom, ide malo sporije jer sve kucam ujedno I na engleskom za englesku verziju ovog tutoriala.

Pozdrav svima koji ste zalutali ovde…