Autor Zpráva
kubajzník
Profil *
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
Č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 *
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
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 *
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 *
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
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
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á.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: