Variablen addieren

piti66

Erfahrenes Mitglied
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
 
Hallo,
bevor man zur Variable $vote_gesamt, die Variable $vote addieren kann, muss man $vote_gesamt von der Datenbank abfragen.

mfg
forsterm
 
Zuletzt bearbeitet:
Aber vote bekomme ich doch oben durch dass select-feld geliefert! Dass einzigste was ich lesen könnte wäre vote_gesamt und vote_anzahl!
Bei vote_gesamt wird der alte werd immer ersetzt und bei vote_anzahl bleibt der wert immer auf null! Vote_gesammt soll aber immer addiert werden und vote_anzahl immer +1!
Wie soll ich die den einlesen?

mfg
 
Welchen Wert besitzt denn die Konstante vote_gesamt? Oder soll das $vote_gesamt = $vote +vote_gesamt; und $vote_anz = vote_anz + 1; etwa gar keine Konstante sondern eine Variable referenzieren?
 
danke erstmal!

variable referenzieren?
Ich will dass die beiden variablen sich verändern, wen jemand abstimmt! vote_gesamt soll immer um $vote (addiert) erweitert werden. und vote_anzahl immer um eins erweitert werden! Bis jetzt wirde der wert bei vote_gesamt aber immer nur ersetzt und bei vote_anzahl passiert garnichts(bleibt 0).
Hier noch mal dass ganze script!

Code:
 				<?PHP
 
 				$anzahl=5; //Anzahl der Eintr&auml;ge pro Seite
 
 				include("connect.php");
 				$show = $_GET["show"];
 				if(!$show) {
 					$show=1;
 				}
 
 				$limit=$show*5;
 				$limitanfang=($show-1)*5;
 
 				$abfrage1=Mysql_query("select * from witzfr");
 				$number=mysql_num_rows($abfrage1);
 				?>
 				<?
 		    	$query1="select * from witzfr order by datum desc limit ".$limitanfang.",".$anzahl;
 				$abfrage2=Mysql_query($query1);
 				while($row=mysql_fetch_object($abfrage2)) {
 				$datu = getdate($row->datum);
 				$datum = $datu[mday].".".$datu[mon].".".$datu[year];
 				?>
 					 <?
 				echo $row->text;
 				?>
 								 <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">
 								 <?
 								 echo '<a href="print.php?id='.$row->id.'" target="_blank"><img src="../../images/drucker.gif" border="0" height="20px" title="Witz drucken"></a>';
 				?>
     					    </form>
 								 <?
 				if($_GET["action"] =="voting") {
 								 $vote_gesamt = vote_gesamt + $vote;
 								 $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>Vote OK!</font>"; }
 								 else {}
 								 }
 				}
 				?>
 				<p>
 		    	<table width="100%" cellspacing="0" cellpadding="0" align="center">
 				<tr>
 		    		<td width="33%" valign="top" bgcolor="#ededed" align="left">
 					<?PHP
 		    		if($limitanfang > 0) { echo "<a href=\"javascript:history.back(-1)\">Vorherige Seite</a>";  }
 
 					?>
 					</td>
 		    		<td width="34%" valign="top" bgcolor="#ededed" align="center">
 					<?
 
 
 		    		echo "Seite ".$show. " von ".ceil($number/5) ;
 
 					?>
 					</td>
 		    		<td width="33%" valign="top" bgcolor="#ededed" align="right">
 					<?PHP
 					$seiten=$show+1;
 		    		if($number - $limit > 0) { echo "<a href=\"news.php?show=$seiten\">N&auml;chste Seite</a>";  }
 
 					?>
 					</td>
 				</tr>
 				</table>

Jemand eine Idee?

mfg
 
Ich weiß immer noch nicht was du mit referenzieren meinst! tut mir leid!
vote_gesamt soll nicht konstant sein sondern der wert ändert sich mit jeder abstimmung um $vote aus dem select-feld! Meinst du dass?

mfg
 
Referenzieren bedeutet in diesem Fall sich auf etwas zu beziehen.
vote_gesamt soll nicht konstant sein sondern der wert ändert sich mit jeder abstimmung um $vote aus dem select-feld! Meinst du dass?
Wenn vote_gesamt kein Konstantenbezeichner darstellen soll, dann wäre meine nächste Frage, welches Merkmal eine Variable in PHP auszeichnet. Ein Tipp: Es ist nicht viel, jedoch ein entscheidendes Zeichen und dazu noch das Symbol einer Währung.
 
Zuletzt bearbeitet:
Häh!
Ich komme mir vor wie in der schule. :)
Was ist den mein fehler! Kannst du es mir nicht sagen! Bitte!

mfg
 
http://www.php.net/manual/de/language.variables.php hat gesagt.:
Variablen werden in PHP dargestellt durch ein Dollar-Zeichen ($) gefolgt vom Namen der Variablen.
Und nun schau dir noch einmal den PHP-Quelltext an und überprüfe, ob überall dort ein $-Zeichen gesetzt wurde, wo auch eins gesetzt werden sollte.
 
Zurück