

Přidání hlasu v anketě do tabulky MySQL
Nejde mi přidat hlas v anketě. Mám
$druh = intval($druh);
$vys = mysql_query ("SELECT * FROM anketa_st_druhy WHERE `druh` = '$druh'");
while($zaznam = mysql_fetch_array($vys))
{
$hlas = $zaznam['hlasy'] + 1;
echo "<b>$hlas</b>";
$sql = "UPDATE `anketa_st_druhy` SET `hlasy` = '$hlas' WHERE `druh` = '$druh' ";
$vyslede = mysql_query($sql);
if (!$vyslede) die(mysql_error());
}
a nevypíše se mi ani to echo $hlas. Slibuji, že až bufdu velký, tak se to naučím lépe.
Co mám teď špatně?
V riadku
by mal byt namiesto 'hlasy' cislo. Ak mate trebars v tabulke stlpce: id, meno, hlasy, tak tam bude spravne:
, pretoze sa pocita od nuly, takze 0 - id, 1 - meno, 2 - hlasy
Není pravda, funkce mysql_fetch_array() vrací jak asociativní, tak numerické pole. Takže bude fungovat i $zaznam['hlasy'], pokud existuje v dané tabulce sloupec hlasy.
Vdaka za poupravenie.
A samotné $zaznam['hlasy'] něco vypíše? Pokud ne, je třeba hledat chybu v SQL dotazu, resp. struktuře tabulky.
echo $zaznam['hlasy']; nevypsalo nic mrška.
Je v proměnné $druh správná hodnota a vrátí dotaz $vys nějaké výsledky?
Pod řádek $vys = mysql_query... dej toto:
Zobrazí ti to, kolik záznamů v DB odpovídá tvému dotazu.
Jo chybka byde v tom dotazu. Když dám
vypíše se. A když dám echo za něj, tak se nevypíše.
Co máš za data v té proměnné $druh? Předpokládám, že to bude nějaký integer, když používáš intval().
Je tam text
a) běžící text
b) vyskakovací titulky
c) rolující titulky
Jupí. Děkuji ti dobrá vílo. Až to hodím na web, pošlu link na to veledílo.
Budu se těšit. A teď jdu spát.