• Përshëndetje Vizitor!

    Nëse ju shfaqet ky mesazh do të thotë se ju nuk jeni regjistruar akoma. Edhe pse nuk jeni regjistruar ju arrini të shihni pjesën me të madhe të seksioneve dhe diskutimeve të forumit, por akoma nuk gëzoni të drejten për të marrë pjesë në to dhe në avantazhet e të qënurit anëtar i këtij komuniteti. Ju lutem : REGJISTROHUNI që të dërgoni postime dhe mesazhe në Forum-Al.

    Regjistrohu !

Bazat e MySQL me PHP 2 – Renditja, Grupimi, Limitimi, etj

Forum-Al

Aty ku shqiptarët mblidhen
Anëtar
Jan 5, 2010
Postime
560
Pikët
28
Vendndodhja
Forum
guidën e parë rreth MySQL me PHP ju tregova si të bëni disa nga veprimet themelore për t’ju hapur rrugën drejt përdorjes së një baze të dhënash në aplikacionet që kodoni. Nëse jeni fillestar absolut në MySQL (dhe SQL në përgjithësi) ju këshilloj ta lexoni atë guidë një herë, përndryshe nuk do kuptoni shumë këtu.

Qëllimi i kësaj guide është që ta përdorim një databazë për më tepër se disa veprime të thjeshta selektimi apo ndryshimi. Do t’ju tregoj disa komanda të thjeshta, por ndërkohë mjaft të nevojshme për të: Renditur, grupuar, limituar, numëruar, gjetur maksimumin e minimumin, gjetur mesataren dhe shumën. Më duhet t’ju them se disa nga këto komanda mund të replikohen thjeshtë me funksionet e PHP, por do ishte një praktikë vërtetë e keqe. MySQL është optimizuar që ti kryejë këto veprime me maksimumin e efikasitetit, prandaj pse mos ti përdorim?!

Si fillim do krijoj një tabelë dhe do e mbush me disa të dhëna për ti ilustruar shembujt me vlera reale.

Tabela “perdoruesit”
————————
id – INT – PRIMARY – AUTO INCREMENT
emri – TINYTEXT
roli – ENUM(‘normal’, ‘moderator’, ‘admin’)
postime – INT


Disa të dhëna imagjinare në tabelë:

id – emri – roli – postime
—————————-
1 – Genci – admin – 544
2 – Tani – moderator – 312
3 – Zana – moderator – 253
4 – Genti – normal – 109
5 – Mandi – normal – 247
6 – Linda – normal – 392


Me tabelën e krijuar dhe të dhënat në vendin e tyre, mund të nisim menjëherë me komandat që na interesojnë për ti manipuluar këto të dhëna.

Renditja (ORDER BY)

Renditjen e të dhënave e ilustrova kalimthi që në guidën e parë, megjithatë mendoj se meriton një vend të dedikuar për ta shpjeguar pak fare më mirë. Komanda për ti renditur informacionet sipas një kolone të caktuar është ORDER BY.

Shembulli më poshtë i rendit të dhënat alfabetikisht (a-z) sipas emrit.

Genci - 544Genti - 109Linda - 392Mandi - 247Tani - 312Zana - 253Po sikur të duam që rezultatet të shfaqen në rend zbritës? Le të themi që na duhet ti rendisim përdoruesit sipas numrit të postimeve, nga personi me më shume postime në atë me më pak. Shumë e thjeshtë! Mjafton të shtojmë komandën DESC (Descending – Zbritës) dhe këtë e kam ilustruar më poshtë.

Kodi i mësipërm do të prodhojë rezultatin e mëposhtëm. Përdoruesit janë renditur sipas numrit të postimeve në rend zbritës (i madhi deri tek i vogli).

Genci - 544Linda - 392Tani - 312Zana - 253Mandi - 247Genti - 109Duke përdorur komandën ORDER BY arritëm ti rendisim të dhënat në rend rritës dhe zbritës, duke i shfaqur të dhënat nga tabela në mënyrën që donim. Kjo është një nga komandat e përdorura më shpesh në aplikacione sepse logjikisht të dhënat duhen renditur para se të shfaqen.

Limitimi (LIMIT)

Limitimi është gjithashtu një komandë që do e përdorni shumë shpesh në aplikacione. Sintaksa është vërtetë e thjeshtë dhe do e shpjegoj me vetëm dy raste.

Veprimi që dua të kryej është shfaqja e 3 përdoruesve me më shumë postime në tabelën tonë. Për këtë do përdor edhe ORDER BY.

Kodi mësipër i rendit përdoruesit sipas numrit të postimeve në rend zbritës (pra më i madhi në fillim) dhe i limiton rezultatet me vetëm 3 rreshta. Pra përfitojmë vetëm 3 rreshtat e parë të rezultatit të kthyer.

Limitimi mund të marrë gjithashtu formë tjetër, ku përcaktojmë rreshtin e nisjes dhe atë të përfundimit. Po ju jap një shembull. Në tabelën e përdoruesve dua të marr vetëm 3 përdorues, duke filluar nga përdoruesi i 2. Dua të marr përdoruesit me id 2, 3 dhe 4. Realizimi është shumë i thjeshtë.

Besoj e vini re sintaksën e ndryshuar dhe 2 numrat e vendosur pas LIMIT. Numri i parë përcakton rreshtin fillestar; kini parasysh që rreshti i parë në databazë përcaktohet me numrin 0, prandaj kam shkruar 1 dhe jo 2 për të filluar tek rreshti i dytë. Ndërsa numri i dytë përcakton sa rreshta më pas (përfshirë rreshtin fillestar) duam të zgjedhim (në këtë rast 3). Kodi i mësipërm do të shfaqë rezultatet e mëposhtme.

Tani - 312Zana - 253Genti - 109Numërimi (COUNT)

Numërimi është një funksion fare i thjeshtë i cila përdoret vetëm për një qëllim – e gjetët, është pikërisht për të numëruar të dhënat. Nëse do donim të dinim sa përdorues ka tabela jonë, atëherë do shkruanim kodin e mëposhtëm:

Kodi i mësipërm shfaq numrin 6, që është numri i përdoruesve në tabelë. Më thjeshtë se kaq nuk ka ku të shkojë, sidoqoftë do ju tregoj edhe 2 shembuj të tjerë për t’ju ofruar pak më tepër mësim. Shembulli i parë prodhon egzaktësisht të njëjtin rezultat si ai më sipër, por do të përdor një variabël në MySQL për të ruajtur vlerën e COUNT(*). Në këtë mënyrë kodi është paksa më i bukur e më i thjeshtë për tu përdorur; ndoshta në këtë shembull nuk bie aq shumë në sy, por në kode të avancuara variablat të “shpëtojnë jetën”.

Në shembullin e dytë do kombinojmë funksionin COUNT dhe komandën WHERE për të numëruar sa moderatorë kemi në tabelë.
 
Top