Bewertung für texte wie?

Ach ich verstehe es immer noch nicht! Lust mir den code fertig zu machen hast du bestimmt nicht! Dass ich nu noch die tabelle einfügen muss! Müßte oben in das Ausgabescript(hab ich oben schon mal geschrieben) eingefügt werden! Wäre echt nett!
Wenn nicht trotzdem danke! Muss ich es wohl lassen!

mfg

sebastian
 
Hey also ich hab jetzt hinbekommen dass mein script felder übergibt die ich eingebe, aber mit der id klappt es nicht!

Ausgabedatei:
Code:
 ....
 								 <form action="vote.php" method="get">
     					    1 <input type="Checkbox" name="vote" value="1">
     					    2 <input type="Checkbox" name="vote" value="2">
     					    3 <input type="Checkbox" name="vote" value="3">
     					    4 <input type="Checkbox" name="vote" value="4">
     					    5 <input type="Checkbox" name="vote" value="5">
     					    6 <input type="Checkbox" name="vote" value="6">
 								 <input type="hidden" value="<?php echo $id; ?>">
     					    <input type="submit" name="submit">
     					    </form>
 ....

Vote.php Hab ich jetzt nur mal für ausgabe der übergegebenen variablen gemacht! Wird noch eine Verarbeitungdatei für eine bewertung hoffe ich!
Code:
 <?php echo $vote; ?>
 <?php echo $id; ?>

Zeigt mir immer nur die votevariable an und nichts anderes!
An was kann dass liegen?

mfg
 
Eins Mal vorweg: Bist du dir sicher das die $id Variable gesetzt ist. Schau mal im Quelltext von der Seite mit dem Formular nach ob da tatsächlich die ID drinnen steht.

Und noch was. Ich würde einen einfacheren Weg wählen. Und zwar keine eigene Tabelle für die Bewertung sondern in der Witztabelle einfach noch zwei weitere Spalten einfügen.
Ein Feld (int) mit dem namen vote_gesamt und ein Feld (int) mit dem Namen vote_anz.

Wenn wer eine Bewertung abgibt macht, musst du die Zeile mit der Witz ID mit dem SQL-Befehl UPDATE das ganze dan ändern.
Beispiel:
PHP:
UPDATE tabelle SET vote_gesamt = vote_gesamt + $vote, vote_anz = vote_anz + 1 WHERE id='$id'

Wenn du die Bewertung dann anzeigen wilst einfach $vote_gesamt/$vote_anz und fertig ^^. Vom Speicher Aufwand ist es gleich wie die vorige Variante nur die Berechnung der Durchschnittbewertung ist einfacher.
 
Welche variablen brauch ich da noch zusätzlich?

vote_gesamt
$vote
vote_anzahl

?

So oder wie genau! Brauch ich da noch mehr? Oder muss ich einfach eine if-anweisung machen wenn vote dann update. Oder muss ich die variablen noch angeben! dafor oder so?
Die id wird übergeben, hatte noch einen fehler. hab mir aber überlegt dass ich gar kein extra script brauche! Geht ja auch in dem selben!Oder?

mfg
 
Hallo,

habe jetzt folgendes Problem. Wenn ich einen vote abgebe wird die variable zwar geschrieben aber leider gleichzeitig auch ersetzt und nicht addiert! Weiß nicht an was dass liegt!
Hier mal der Code:
Code:
  <form action="witz.php" method="get">
  Bewerten:
  <select name="vote" onChange='this.form.submit()' style="width:77px; font-family:verdana; color:#000000; font-size:8pt">
  <option value="" name="vote">--</option>
  <option value="1" name="vote">sehr gut</option>
  <option value="2" name="vote">gut</option>
  <option value="3" name="vote">befriedigend</option>
  <option value="4" name="vote">ausreichend</option>
  <option value="5" name="vote">mangelhaft</option>
  <option value="6" name="vote">ungenügend</option>
  </select>
  <input type="hidden" name="id" value="<?php echo $row->id; ?>">
  <input type="hidden" name="action" value="voting">
  <?
  if($_GET["action"] =="voting") {
  $vote_gesamt = $vote +vote_gesamt;
  $vote_anz = vote_anz + 1;
  $query="update witzfr SET vote_gesamt = '".$vote_gesamt."', vote_anzahl = '".$vote_anzahl."' WHERE id='$id'";
  $abfrage=mysql_query($query);
  if($abfrage) { echo "<font>&Auml;nderungen wurden &uuml;bernommen."; }
  else {}
 ?>

Weiß jemand warum die variablen nicht addiert sondern ersetzt wird?

mfg
 
Weiß jemand warum die variablen nicht addiert sondern ersetzt wird?
Ja weiß ich!
Weil du meinen Update-SQL-Code nicht korrrekt übernommen hast:

PHP:
if($_GET["action"] =="voting") {
  $query="update witzfr SET vote_gesamt = vote_gesamt + '".$vote."', vote_anzahl = vote_anzahl + 1 WHERE id='$id'";
  $abfrage=mysql_query($query);
  if($abfrage) { echo "<font>&Auml;nderungen wurden &uuml;bernommen."; }
  else {}
So müsste es funktionieren.

Florian

Edit: Sorry, ein + vergessen
 
Achja danke!
Jetzt hab ich aber noch das Problem das er alle werte immer doppelt nimmt, d.h. wenn ich eine 2 vote schreibt er in die datenbank vote_gesamt 4 und vote_anzahl 2, müßte doch eigentlich 2 und 1 sein! oder?

mfg
 
Zurück