Obarvení podle počtu
- KapaCZ
- Začátečník

-
- Registrován: 06. srp 2006
Obarvení podle počtu
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
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

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Obarvení podle počtu
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.
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- KapaCZ
- Začátečník

-
- Registrován: 06. srp 2006
Re: Obarvení podle počtu
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?
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

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Obarvení podle počtu
tak to dej do podmínky
if($i<=3){
budeš brát z pole
}else{
svoji barvu
}
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- KapaCZ
- Začátečník

-
- Registrován: 06. srp 2006
Re: Obarvení podle počtu
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ů.
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 nick DESC LIMIT 0, 10Kó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

-
- Registrován: 24. črc 2004
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: Obarvení podle počtu
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

-
- Registrován: 06. srp 2006
Re: Obarvení podle počtu
Díky funkční 
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: Obarvení podle počtu
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
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min