php "Vote" per UPDATE Befehl ?
Ap2000
- php
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
Hallo Ap2000!
$qry = "UPDATE BEWERTUNG = BEWERTUNG - 1" WHERE ID = '".$_GET['id']."'";
$qry = "UPDATE BEWERTUNG = $wert + 1 WHERE ID = '".$_GET['id']."'";
Beides Mal ist die Syntax imho falsch.
Lies doch mal in http://dev.mysql.com/doc/mysql/de/UPDATE.html nah, wie ein Update-Befehl aufgebaut sein muß.
Wenn Du Dich daran hälst, klappt's vielleicht auch.
(Weitere Links zum Thema:
* http://www.dclp-faq.de/q/q-sql-lernen.html
* http://www.little-idiot.de/mysql/mysql-122.html)
$qry = "SELECT * FROM logs WHERE ID = '".$_GET['id']."'";
Lies Dir am besten auch gleich mal http://www.dclp-faq.de/q/q-sql-select.html durch.
MfG
Götz
Werden hier etwa Posts gelöscht !??
Weil ich hab vorhin etwas geschrieben...
yours Ap2000
Hallo Ap2000!
Werden hier etwa Posts gelöscht !??
Es werden eher selten Postings gelöscht.
Und zwar nur dann, wenn man es rechtfertigen kann. Siehe auch http://forum.de.selfhtml.org/faq/#Q-24.
Aber ich kann Dich beruhigen, es wurde definitiv kein Posting von Dir gelöscht.
Vielleicht hast Du auch nur die Vorschau gesehen und gedacht, es wäre schon gepostet? ... soll schon einigen so gegangen sein ... ;)
MfG
Götz
Hallo Ap2000!
Werden hier etwa Posts gelöscht !??
Es werden eher selten Postings gelöscht.
Und zwar nur dann, wenn man es rechtfertigen kann. Siehe auch http://forum.de.selfhtml.org/faq/#Q-24.Aber ich kann Dich beruhigen, es wurde definitiv kein Posting von Dir gelöscht.
Vielleicht hast Du auch nur die Vorschau gesehen und gedacht, es wäre schon gepostet? ... soll schon einigen so gegangen sein ... ;)MfG
Götz
Naja, was ich sagen wollte war, dass ich zufälligerweiße die Informationen zum Update-Befehl von der gleichen Seite wie du geschrieben hast habe.
Weiß auch nicht genau, was falsch sein soll.
yours Ap2000
Hallo Ap2000!
$qry = "UPDATE BEWERTUNG = BEWERTUNG - 1" WHERE ID = '".$_GET['id']."'";
$qry = "UPDATE BEWERTUNG = $wert + 1 WHERE ID = '".$_GET['id']."'";
Naja, was ich sagen wollte war, dass ich zufälligerweiße die Informationen zum Update-Befehl von der gleichen Seite wie du geschrieben hast habe.
Weiß auch nicht genau, was falsch sein soll.
Also, dann kopier ich den relevanten Teil mal eben hier rein, und vergleiche ihn mit Deinem Befehl:
UPDATE [LOW_PRIORITY] [IGNORE] tabelle
SET spalten_name1=ausdruck1, [spalten_name2=ausdruck2, ...]
[WHERE where_definition]
[LIMIT #]
So, uns interessiert im Moment nur der grundsätzliche Aufbau, also reduzieren wir das Beispiel auf das für uns wesentliche zu:
UPDATE tabelle
SET spalten_name1=ausdruck1
WHERE where_definition
So, und fällt Dir nun ein Unterschied zu Deinen Befehlen oben auf?
MfG
Götz