Tutorials
Autor
Flitze
Klicks 6617
Bewertungen 102
Rating 8.1
Stand 29.05.2009
Keywords
PHP Rating System, Bewertung Tutorial, Rating Tutorial, PHP Bewertungssystem, Inhalte bewerten, Rating erstellen, Rangfolge erstellen, Inhalte bewerten
Social Bookmarking:
Klicks 6617
Bewertungen 102
Rating 8.1
Stand 29.05.2009
Keywords
PHP Rating System, Bewertung Tutorial, Rating Tutorial, PHP Bewertungssystem, Inhalte bewerten, Rating erstellen, Rangfolge erstellen, Inhalte bewerten
Social Bookmarking:
PHP Ratingsystem
Seite : 1 2 3 4 5 6 7 BewertenSpeichern der Bewertung
Beim Speichern der Bewertung werden 2 Werte erwartet:
- Die ID des zu bewertenden Witzes
- Die gewählte Punktzahl
An dieser Stelle muss man verschiedene Prüfungen durchführen, z.B. ob eine ID übergeben wurde, ob diese ID auch zu einem gültigen Witz gehört und ob das Rating innerhalb des erlaubten Punktzahlbereiches liegt. Anschließend muss nur noch das Rating entsprechend erhöht werden. Funktionieren tut das Ganze mit dem folgenden Quellcode:
PHP:
<?php
// Prüfen, ob ID und Punktzahl übergeben wurden
$rate = isset($_POST['Bewertung'])?(int)$_POST['Bewertung']:0;
$id = isset($_POST['ID'])?(int)$_POST['ID']:0;
// Prüfen, ob die ID gültig ist
$sql ="SELECT
COUNT(*)
FROM
Witze
WHERE
ID = '".mysql_real_escape_string($id)."'
";
$result = mysql_query($sql) OR die(mysql_error()."<pre>".$sql."</pre>");
$id_valid = mysql_result($result,0);
if(!$id_valid)
echo "<p>Die gewählte Witz-ID ist ungültig.</p>";
// Prüfen, ob die Punktzahl im erlaubten Bereich liegt
elseif($rate<1 OR $rate>5)
echo "<p>Sie können nicht weniger als 1 oder mehr als 5 Punkte vergeben.</p>";
else{
// Update Rating
$sql = "UPDATE
Witze
SET
Rating_Summe = Rating_Summe+".$rate.",
Rating_Anzahl = Rating_Anzahl+1
WHERE
ID = '".mysql_real_escape_string($id)."'
";
mysql_query($sql) OR die(mysql_error()."<pre>".$sql."</pre>");
echo "<p>Sie haben den Witz erfolgreich mit ".$rate." Punkten bewertet.</p>";
}
echo "<p>Zurück zur <a href=\"show_witze.php\">Witzeanzeige</a></p>";
?>
Anmerkung:
Ich verwende MySQL 5.1.30, ich bin mir nicht sicher, ob das verwendete Statement
PHP:
<?php
//...
$sql = "UPDATE
Witze
SET
Rating_Summe = Rating_Summe+".$rate.",
Rating_Anzahl = Rating_Anzahl+1
WHERE
ID = '".mysql_real_escape_string($id)."'
";
//...
?>
auch mit einer älteren Version funktioniert. Knackpunkt könnte der SET-Teil sein, bei dem mit einer Addition gearbeitet wird. Sollte es so nicht funktionieren, müsste der entsprechende Witz erst mittels der ID aus der Datenbank gelesen, danach Rating_Anzahl und Rating_Summe erhöht und der Witz dann mit den neuen Werten geupdatet werden. « Zurück Weiter »

