Stránka 1 z 1
Obarvení podle počtu
Napsal: pon 10. kvě 2010, 20:07
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
Re: Obarvení podle počtu
Napsal: pon 10. kvě 2010, 22:03
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.
Re: Obarvení podle počtu
Napsal: pon 10. kvě 2010, 22:52
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?
Re: Obarvení podle počtu
Napsal: pon 10. kvě 2010, 22:55
od arxeiss
tak to dej do podmínky
if($i<=3){
budeš brát z pole
}else{
svoji barvu
}
Re: Obarvení podle počtu
Napsal: úte 11. kvě 2010, 14:42
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
Re: Obarvení podle počtu
Napsal: úte 11. kvě 2010, 15:12
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
Re: Obarvení podle počtu
Napsal: úte 11. kvě 2010, 15:29
od KapaCZ
Díky funkční

Re: Obarvení podle počtu
Napsal: úte 11. kvě 2010, 15:36
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