Eiszwerg
Erfahrenes Mitglied
Ich habe ein mir seinerzeit einen Vote gebastelt.
Mittlerweile muss ich feststellen, dass dieser sich gerne mal verrechnet.
Die Tabelle mit den Ergebnissen ist folgendermaßen aufgebaut:
id 1
frage Duschen oder Baden?
antworten Baden rocks! | Duschen ist geil!
klicks 2|3
gesamt 5
Nun kommt es leider, und den Grund dafür suche ich, dass bei klicks 2|3|1|1| drin steht und bei gesamt das Ergebnis 7.
Kann mir jemand verraten wo ich falsch denke bzw. wo der Hund begraben liegt?
Formular zum Vote:
Auswerten des Formulars:
Mittlerweile muss ich feststellen, dass dieser sich gerne mal verrechnet.
Die Tabelle mit den Ergebnissen ist folgendermaßen aufgebaut:
id 1
frage Duschen oder Baden?
antworten Baden rocks! | Duschen ist geil!
klicks 2|3
gesamt 5
Nun kommt es leider, und den Grund dafür suche ich, dass bei klicks 2|3|1|1| drin steht und bei gesamt das Ergebnis 7.
Kann mir jemand verraten wo ich falsch denke bzw. wo der Hund begraben liegt?
Formular zum Vote:
Code:
while ($Ausgabe = mysql_fetch_array ($result)) //Auslesen der o.g. Daten
{
echo"<table>";
echo "<tr><td><b>$Ausgabe[frage]</b></td></tr>"; //Frage des Votes ausgeben
$antwort=explode("|",$Ausgabe[antworten]); //Die Antworten zerlegen
$z=0;
foreach ($antwort as $antwort){
if ($z=="0"){
echo"<tr><td><input type=\"radio\" value=\"$z\" name=\"wert\" checked>$antwort</td></tr>";
}else echo"<tr><td><input type=\"radio\" value=\"$z\" name=\"wert\">$antwort</td></tr>"; //Radio-Buttons mit der entsprechenden Antwort und dem Wert Z erstellen, wobei der erste Radio (z=0) gecheckt wird
$z++;
}
}
Auswerten des Formulars:
Code:
$result = mysql_db_query ($db, $dbanfrage); //Query an DB
$inhalt = mysql_fetch_array ($result); //Daten aus Query
$vote[votes] = explode("|", $inhalt[klicks]); //die o.g. Spalte Klicks zerlegen
$vote[votes][$wert]++; //den gecheckten Wert um 1 erhöhen
$vote[votes] = implode("|", $vote[votes]); //alle Werte wieder zusammenführen
$inhalt[gesamt]++; //Gesamtwert um 1 erhöhen
$rein=mysql_query("UPDATE $table1 SET klicks = '$vote[votes]', gesamt = '$inhalt[gesamt]' WHERE aktiv='1'"); //Werte zurückschreiben
Zuletzt bearbeitet: