Auf Einer meiner Seiten (www.bashworld.de.vu) hab ich ein kleines Problem...
Wenn ihr auf "Einträge" klickt, so werden alle bisher eintragenen Chat-Logs angezeigt. Unterhalb des jeweiligen Chat-Logs wird auch die Bewertung angezeigt. Als Standard hab ich sie auf 1 gesetzt, sprich wenn man einen Eintrag anlegt (was über "Eintrag abschicken" möglich ist), so hat dieser automatisch eine Stimme bekommen (also Bewertung = 1).
Das Problem ist nun aba ich will, dass per einem kleinen einfachen "Vote-System" dieser Wert der in der MySQL-Tabelle als BEWERTUNG gespeichert wird entweder um Eines erhöht oder erniedrigt wird.
ich habe folgenden Befehl in zig Variationen (z.b. mit/ohne Anführungszeichen usw.) benützt:
--------------------------------------------------------------
$qry = "UPDATE BEWERTUNG = BEWERTUNG - 1" WHERE ID = '".$_GET['id']."'";
--------------------------------------------------------------
dann hab ich es noch so versucht:
--------------------------------------------------------------
$db = mysql_connect("localhost", "bashworld"," ***** ");
$qry = "SELECT * FROM logs WHERE ID = '".$_GET['id']."'";
$result = mysql_query($qry,$db);
$row = mysql_fetch_row($result);
$result = mysql_query($qry);
$wert = $row[4];
mysql_close();
$db = mysql_connect("localhost", "bashworld"," ***** ");
//Datenbank auswählen
mysql_select_db("bashworld",$db);
// Bewertung Minus
$qry = "UPDATE BEWERTUNG = $wert + 1 WHERE ID = '".$_GET['id']."'";
--------------------------------------------------------------
$row[ 4] ist der Wert der bei bereits BEWERTUNG drin steht. Also in diesem Fall ist er eben überall noch 1.
Und keine Angst, die id wird schon richtig mitgeliefert, an dem liegt also nicht.
Dann hab ich am Schluss der php Datei die den Wert erhöhen bzw. in der php Datei die ihn verkleinern soll auch noch folgendes:
--------------------------------------------------------------
echo "$result";
if($result)
{
echo "<center>";
echo "Bewertung gezählt !<br>";
echo "<a href='index.php'>Zurück</a>";
echo "</center>";
}
else
{
echo "<center>";
echo "Es ist ein Fehler aufgetreten ! Versuch es noch einmal ! ";
echo "<a href='index.php?option=anzeigen'>Zurück</a>";
echo "</center>";
}
--------------------------------------------------------------
... sprich wenn der Wert und der Vorgang ok waren, so wird eben angezeigt, dass es gut gelaufen ist, ansonsten wird gezeigt, dass ein Fehler aufgetreten ist.
Ein weiteres Prob ist, dass ich $result garned anzeigen lassen kann, was ja bedeutet, dass weiter Oben der Fehler sein muss.
Liegt also sehr wahrscheinlich in der Zeile mit dem UPDATE Befehl.
Der Wert BEWERTUNG hab ich in meiner MySQL Tabelle als mediumint angegeben, also dass es eine Zahl zwischen -40.000 und +40.000 ist. (ca. in dem Bereich)
Gesucht ist also eine Lösung, dass mit einer php-Datei dieser Wert erhöht wird bzw. um Eins verkleinert wird.;) Mit dem UPDATE Befehl oder anders ist egal, hauptsache es funzt.:)
yours Ap2000