Autor Zpráva
Medvídek
Profil *
jak vypsat hodnotu z prikazu

$dotaz="SELECT SUM( ano ) FROM odpovedi";
$vysledek=mysql_query($dotaz);

tady by melo byt neco jako VE SLOUPCI ANO JE CELKEM _______ ODPOVEDI
jonge
Profil
Tato funkce je IMHO na čísla. Zkus toto:
$dotaz = mysql_query("SELECT COUNT(*) FROM `odpovedi` WHERE `odpoved` = 'ano'");

list($pocet) = mysql_fetch_array($dotaz);
Joker
Profil
To co píše jonge je pravda, pokud je ve sloupci ano uložený přímo druh odpovědi. Pak je určitě správnější použít SELECT COUNT()
Naopak SELECT SUM() by se použilo v případě, kdy ve sloupci ano je počet odpovědí ano v nějaké dílčí skupině. Získání výsledku se ale dělá v obou případech stejně, tím:
list($pocet) = mysql_fetch_array($dotaz);
Medvídek
Profil *
mam sloupce ANO, NE, NEVIM a vypada to nejak asi takto
ANO NE NEVIM IP DATUM
1 0 0 127.0.0.1 21-03-2007
0 0 1 127.0.0.1 21-03-2007
0 1 0 127.0.0.1 21-03-2007
1 0 0 127.0.0.1 21-03-2007

a potrebuju u kazdyho soucet cisel :)
Béďa
Profil *
$dotaz = mysql_query("SELECT COUNT(*) FROM `odpovedi` WHERE `ANO` = '1'"); // 1 bude v apostrofech v závislosti na datovém typu

list($pocet) = mysql_fetch_array($dotaz);
Kcko
Profil
No ta databaze mela vypadat spis takto

VYSLEDEK IP DATUM


VYSLEDEK -> ANO / NE / NEVIM
IP -> IP adresa
DATUM -> datum vlozeni


a pak by dotaz vypadal

SELECT VYSLEDEK, COUNT(*) as POCET FROM `odpovedi` GROUP BY VYSLEDEK ORDER BY POCET DESC
Medvídek
Profil *
Již jsem to vyresil takto

$dotaz = "SELECT * FROM odpovedi WHERE ano='1'";
$vysledek = mysql_query($dotaz);
$celkem = mysql_num_rows($vysledek);
echo $celkem;
nightfish
Profil
Medvídek
to je hodně hloupé řešení, protože se mezi klientem a mysql server budou přenášet všechny řádky, které vyhovují podmínce
rozhodně lepší bude:

$dotaz = "SELECT COUNT(*) FROM odpovedi WHERE ano = '1'";
$vysledek = mysql_query($dotaz);
list($celkem) = mysql_fetch_row($vysledek);
echo $celkem;
pavelS
Profil
Předpokládám, že sloupec se jmenuje "ano". Já bych to asi dělal takto:

SELECT ano, count(*) as kolik FROM tabulka GROUP BY ano

vypadne z toho součet všech odpovědí pro v každou variantu odpovědi kterou to najde ve sloupci "ano", pokud tam jsou jen 2 typy odpovědí (ano, ne), tak to budou dvě řádky které přijdou ze serveru.
Kajman_
Profil *
select
sum(ano) ano,
sum(ne) ne,
sum(nevim) nevim,
count(*) vsech
from odpovedi
Toto téma je uzamčeno. Odpověď nelze zaslat.

0