Autor | Zpráva | ||
---|---|---|---|
kubajzník Profil * |
#1 · Zasláno: 15. 10. 2008, 12:10:33
Ahoj, mám tento script:
$vyberkrajuprovypsani = mysql_query("(SELECT id,nazev,kraj FROM trasa GROUP BY kraj)"); while (list($id,$nazev,$kraj) = mysql_fetch_row($vyberkrajuprovypsani)) { A potřeboval bych pokud z tohoto vypisuji kraje, za každý kraj vypsat počet tras do závorky, které do něj spadají. Čekal bych že někam hodím count(), jenže ať ho dámkamkoliv, nefunguje to a zdá se mi zbytečné do tohoto while vkládat další select který získá počet pro každý výsledek. Napadá někoho elegantní řešení? Děkuji. :) |
||
nightfish Profil |
#2 · Zasláno: 15. 10. 2008, 12:19:11
„Čekal bych že někam hodím count(), jenže ať ho dámkamkoliv, nefunguje to a zdá se mi zbytečné do tohoto while vkládat další select který získá počet pro každý výsledek“
nevím, jaký je vztah mezi id, názvem a krajem, nicméně tohle bych řešil asi jako select kraj, count(kraj) pocet from trasa group by kraj případně s tvou strukturou by to šlo tak, že si budeš do pole ukládat počty k jednotlivým krajům - kraj bude index pole a hodnota bude počet pak v dalším cyklu kraje vypíšeš (foreach) |
||
kubajzník Profil * |
#3 · Zasláno: 15. 10. 2008, 12:37:29
select kraj, count(kraj) pocet from trasa group by kraj
to jsem bohužel nepochopil co tím myslíš, jako další select? A do toho pole bych to ze svých dotazů naskládal jak? Sekl jsem se na tom a nemůžu z toho ven. :) |
||
BetaCam Profil |
#4 · Zasláno: 15. 10. 2008, 12:46:52
kubajzník
Ne ten select co napsal nightfish si tam dej místo toho tvého. Tedy zhruba takto : $vyberkrajuprovypsani = mysql_query("(SELECT id,nazev,kraj, count(kraj) AS pocet FROM trasa GROUP BY kraj)"); while (list($id,$nazev,$kraj, $pocet) = mysql_fetch_row($vyberkrajuprovypsani)) { Pak už je to všechno stejné. Mimochodem list() používáš v tomto případě z nostalgie, nebo k tomu máš nejaký důvod? |
||
kubajzník Profil * |
#5 · Zasláno: 15. 10. 2008, 12:56:20
Musím přiznat že jsem si na něj zvykl v začátcích a nechci se ho vzdát. :) Jdu to zkusit, díky.
|
||
kubajzník Profil * |
#6 · Zasláno: 15. 10. 2008, 12:59:23
Skvělé, mockrát díky, už to fachá! Jak se na něčem kousnu, může to být jakákoliv blbost a sedím nad tím dva dny..
|
||
nightfish Profil |
#7 · Zasláno: 15. 10. 2008, 13:00:57
BetaCam
„Mimochodem list() používáš v tomto případě z nostalgie, nebo k tomu máš nejaký důvod?“ huh, jaký je důvod list() nepoužívat? (neber to nějak zle, list() používám už léta a ještě jsem nezaznamenal - ani tady, ani v manuálu - že by to bylo nevhodné/špatné/zastaralé) |
||
BetaCam Profil |
#8 · Zasláno: 15. 10. 2008, 16:33:47
nightfish
„huh, jaký je důvod list() nepoužívat? (neber to nějak zle, list() používám už léta a ještě jsem nezaznamenal - ani tady, ani v manuálu - že by to bylo nevhodné/špatné/zastaralé)“ Musím se omluvit protože ta věta, kterou sem napsal byla napsána hlavně z mé nepozornosti a hlavně něčeho co mi vždy naskočí v paměti když vidím použití tohoto jazykového konstuktu ve while a to konstrukce : while(list($key,$val) = each($array)){} Proto sem mluvil o nostalgii. I když i tato konstrukce je pro určité případy vhodná. |
||
Časová prodleva: 16 let
|
0