Sva početnička pitanja Sva početnička pitanja bi trebala da se postavljaju u ovom forumu, a ako se pretvori u kvalitetnu diskusiju interesantnu svima - prebacićemo je u odgovarajući forum. Molimo "znalce" da ne omalovažavaju početnike, ako žele da pomognu svi ćemo biti zahvalni, ako ne žele, neka preskoče ovaj forum. |
|
Alati teme | Način prikaza |
27. 11. 2010. | #1 |
član
Na probnom radu
Datum učlanjenja: 06.02.2010
Poruke: 43
Hvala: 22
0 "Hvala" u 0 poruka
|
'multiple' ispis iz baze
Evo slikovit primjer da objasnim šta me zanima. Želim ispisati sve klubove u kojima je neki igrač igrao. Ispis za pojedinačnog igrača nije problem, ali kako prikazali listu svih igrača i klubova u kojima je pojedini igrač igrao?
Upitom sam dobio ovakve podatke (koristeći left join query): ID | IGRAC | RODJEN | KLUB 1 | c. ronaldo | 2000 | real madrid 1 | c. ronaldo | 2000 | manchester 2 | ronaldihno | 1980 | psg 2 | ronaldihno | 1980 | barcelona 2 | ronaldihno | 1980 | milan dakle, kako dobiti ispis svih igrača i klubova, poput ovog: ronaldo - madrid, manchester ronaldihno - psg, barcelona, milan ... Probao sam sa dvostrukim for petljama (jedna za dohvat/ispis svih igrača, a druga za dohvat/ispis klubova svakog pojedinog igrača, ali je dolazilo do blokade) |
27. 11. 2010. | #2 |
član
Na probnom radu
|
Do kakve blokade?
Pretpostaviću da je ID zapravo ID igrača.. ako uradiš ORDER BY id ASC, možeš da prodješ kroz rezultate samo uz poredjenje da li je došlo do promene ID-ja, ukoliko jeste, dohvatiš ime sledećeg igrača i započneš novu listu klubova.
__________________
Use The Force! |
"Hvala" cicika za poruku: |
27. 11. 2010. | #3 |
član
Na probnom radu
Datum učlanjenja: 06.02.2010
Poruke: 43
Hvala: 22
0 "Hvala" u 0 poruka
|
Do zagušenja (blokade rada,) mi dolazi kada sam koristio dvije funkcije: dohvati_sve_igrace() i unutar nje dohvati_klubove_pojedinog_korisnika(). Za ispis sam opet koristio dvije funkcije, na istom principu, ispiši sve igrače i ispiši za svakog igrača njegove klubove. Mislio sam da li ima neko drugo rješenje jer mi ovo ne daje rezultat (nešto poput neprekinute petlje iako to nije)
|
27. 11. 2010. | #4 |
Ivan Dilber
Sir Write-a-Lot
|
mozes jednim upitom ovako:
Kôd:
SELECT igraci.*, GROUP_CONCAT(klubovi.ime ORDER BY klubovi.godina) AS lista_klubova FROM igraci LEFT JOIN klubovi ON igraci.id=klubovi.igrac_id GROUP BY igraci.id
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 27. 11. 2010. u 20:26. |
"Hvala" ivanhoe za poruku: |
27. 11. 2010. | #5 |
član
Na probnom radu
Datum učlanjenja: 06.02.2010
Poruke: 43
Hvala: 22
0 "Hvala" u 0 poruka
|
da li u tom slučaju klubove (ID-e) spremam kao jedan string i pomoću explode() ih prebacim u polje[]? jer mi klubovi trebaju kasnije za checkboxove
|
27. 11. 2010. | #6 |
Ivan Dilber
Sir Write-a-Lot
|
najbolje ti je da jednim upitom pokupis sve klubove (id i naziv), i napravis od toga asocijativni niz gde su ID-jevi klubova kljucevi niza (tj. napravis lookup tabelu koja sluzi da pomocu ID-ja kluba brzo dohvatis ime kluba)
Onda napravis drugi upit kao ovaj u mom primeru, samo umesto imena klubova konketujes id-jeve. Kad prikazujes uradis explode tog polja da bi dobio niz ID-ja, i onda samo u petlji radis sa njima (a za prikaz naziva kluba koristis lookup u onom nizu iz prvog upita, posto imas ID) tako nekako...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
"Hvala" ivanhoe za poruku: |
27. 11. 2010. | #7 |
član
Na probnom radu
Datum učlanjenja: 06.02.2010
Poruke: 43
Hvala: 22
0 "Hvala" u 0 poruka
|
to je to, samo da uspijem napraviti
thanx man |
15. 12. 2010. | #8 |
novi član
Datum učlanjenja: 15.12.2010
Poruke: 1
Hvala: 0
0 "Hvala" u 0 poruka
|
A, što mu niko ne reče da mu organizovanje podataka u bazi nije baš najsrećnije pa onda čupanje istih ide... čupavo
__________________
- Is it true what they're sayin', he's some kinda vampire? - They don't have a name for what he is. |
15. 12. 2010. | #9 |
Banned
Expert
Datum učlanjenja: 29.09.2007
Poruke: 458
Hvala: 131
71 "Hvala" u 44 poruka
|
Zato što najčešće takvi saveti budu nekorisni jer osoba nije spremna da se upusti u ozbiljniju analizu problema. U ovom slučaju se to vidi po izjavi "da li u tom slučaju klubove (ID-e) ..." a po strukturi tabele se može predpostaviti da imena klubova nisu unique pa se ne mogu ni tretirati kao oblik ID-a ... bla, bla, bla... ja sam se više putao opekao na ovom forumu sa davanjem korisnih saveta.
|
16. 12. 2010. | #10 |
Ivan Dilber
Sir Write-a-Lot
|
a na osnovu cega vi vidite njegovu strukturu tabela?
Covek nigde nije naveo kako mu izgleda tabela, samo kako izgledaju podaci nakon JOIN-a..
__________________
Leadership is the art of getting people to want to do what you know must be done. |
"Hvala" ivanhoe za poruku: |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Ispis odabranih checkboxova i upis u bazu | blackshtef | PHP | 3 | 23. 04. 2010. 21:00 |
Huawei HG510 Multiple Vulnerabilities | Ivan | Opušteno | 4 | 18. 02. 2010. 22:59 |
Kako najbolje izvesti ispis iz goleme baze | staseprimate | Sva početnička pitanja | 10 | 30. 12. 2007. 00:26 |
[REŠENO] multiple image upload? | dootzky | Web aplikacije, web servisi i software | 6 | 03. 10. 2007. 14:35 |
vTiger CRM Multiple Vulnerabilities | Ivan | Opušteno | 0 | 04. 09. 2006. 13:58 |