Obarvení podle počtu

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Obarvení podle počtu

Příspěvek od KapaCZ »

Z tabulky vybírám data a sčítám je podle příspěvků daného nicku. Poté je řadim podle výsledného čísla (počtu příspěvků).

Potřeboval bych to největší číslo obarvit barvou A toho druhého barvou B a třetího barvou C.

Napadlo mě řešení, že bych z tabulky bral data pomocí tří dotazů, ale to mi přijde "neekonomické".

Něco jako je na http://www.mibrt.cz/ => Nejaktivnější čtenáři
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Obarvení podle počtu

Příspěvek od arxeiss »

Jedním dotazem ber, nakonec dej ORDER BY a sloupec kde je počet příspěvků tak ať máš na začátku ten s největším počtem, jěště zato napiš LIMIT 0,3
Vytvoř si pole např $barvy = array("#FF0000","#00FF00","#0000FF");
Výsledky z db projeď cyklem
$i=0;
while($data = mysql_fetch_array($sql)){
echo '<span style="color: '.$barvy[$i].'">'.$data['jmeno_uzivatele'].'</span>';
$i++;
}

a hotovo ne? To echo si předělej podle templaty nebo jak to řeším, popř to můžeš řešit i přes class v CSS to už je jedno.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Obarvení podle počtu

Příspěvek od KapaCZ »

OK. díky moc ještě jedna věc. Když mám array('#FFD700','#C0C0C0','#CD7F32')
Jak zapíšu aby vše co je víc jak ty první 3 tzv 4,5 .... mělo barvu #FFFFFF?
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Obarvení podle počtu

Příspěvek od arxeiss »

tak to dej do podmínky
if($i<=3){
budeš brát z pole
}else{
svoji barvu
}
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Obarvení podle počtu

Příspěvek od KapaCZ »

Potřeboval bych aby se to řadilo podle soucet. soucet není v tabulce. Tento kod dělá přesně to co potřebuji až na to řazení. Takhle jak to je tak to řadí podle nicku, ale já bych to potřeboval podle počtu příspěvků.

Kód: Vybrat vše

SELECT nick, COUNT(nick) AS soucet FROM RiKap_komentare GROUP BY nick DESC LIMIT 0, 10
Když to změnim na toto: Píše to - Can't group on 'soucet'.

Kód: Vybrat vše

SELECT nick, COUNT(nick) AS soucet FROM RiKap_komentare GROUP BY soucet DESC LIMIT 0, 10
Exp
Začátečník
Začátečník
Registrován: 24. črc 2004
Bydliště: Tábor
Kontaktovat uživatele:

Re: Obarvení podle počtu

Příspěvek od Exp »

Zkus tohle.

Kód: Vybrat vše

SELECT nick, COUNT(nick) AS soucet FROM RiKap_komentare GROUP BY nick ORDER BY soucet DESC LIMIT 0, 10
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Obarvení podle počtu

Příspěvek od KapaCZ »

Díky funkční :)
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Obarvení podle počtu

Příspěvek od arxeiss »

Nemůžeš použít GROUP BY protože to ti seskupuje, tj seskupí ti všechny sloupce kde jsou stejné hodnoty sloupce které jsi zadal. Pro seřazení se používá ORDER BY
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Odpovědět

Zpět na „Programování a web“