PHP Ratingsystem - Beispiel: Witze Ratingsystem Daten anzeigen
Autor
Flitze
Klicks 83298
Keywords:
PHP Rating System, PHP Ranking System Tutorial, PHP Rating Tutorial, PHP Bewertungssystem, PHP Ranking erstellen, Rating System Tutorial, PHP Ranking System, Witz, Rating, Daten anzeigen, darstellen
Klicks 83298
Rating für PHP Ratingsystem
7.7 von 10
Bewertungen417
Stand
20.06.2010
7.7 von 10
Bewertungen417
Keywords:
PHP Rating System, PHP Ranking System Tutorial, PHP Rating Tutorial, PHP Bewertungssystem, PHP Ranking erstellen, Rating System Tutorial, PHP Ranking System, Witz, Rating, Daten anzeigen, darstellen
Breadcrumb:
Tutorials » PHP Ratingsystem » PHP Ratingsystem - Beispiel: Witze Ratingsystem Daten anzeigen
Anzeige der Witze mit Bewertungsinterface
[ADSENSE_LINE]Nun können wir die Witze auslesen und dem User ein Interface zum Speichern einer Bewertung zur Verfügung stellen. Das werde ich zunächst mit einer einfach select-Auswahlliste verwirklich. Wie ihr eine optisch ansprechendere Darstellung in Form eines Bewertungsbalkens mit Sternen a lá Youtube erstellt könnt, erkläre ich in meinem Bewertungsbalken-Tipp Die Datei zum Anzeigen nenne ich show_witze.php.
PHP:
<?php
$sql = "SELECT
ID,
DATE_FORMAT(Datum, '%d.%m.%Y') as Datum,
Witz,
Titel,
(Rating_Summe/Rating_Anzahl) as Rating
FROM
Witze
ORDER BY
Rating DESC
";
$result = mysql_query($sql) OR die(mysql_error()."<pre>".$sql."</pre>");
// Witze anzeigen
while($row = mysql_fetch_assoc($result)){;
echo "<h2>".htmlentities($row['Titel'],ENT_QUOTES)."</h2>\n".
"<p><span style=\"font-size:10px;\">vom: ".$row['Datum']."</span><br>".
nl2br(htmlentities($row['Witz'],ENT_QUOTES)).
"</p>";
echo "<form action=\"rate_witz.php\" method=\"post\">\n".
"<select name=\"Bewertung\">\n".
"<option value=\"0\">Punktzahl auswählen</option>\n";
for($i = 1; $i <= 5; $i++){
if(round($row['Rating']) == $i)
echo "<option value=\"".$i."\" selected>".$i."</option>\n";
else
echo "<option value=\"".$i."\">".$i."</option>\n";
}
echo "</select>\n";
echo "<input type=\"hidden\" name=\"ID\" value=\"".$row['ID']."\">\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Bewerten\">\n";
echo "</form>\n";
}
?>
Zunächst werden alle Witze aus der Datenbank ausgewählt. Beim Datum wird eine Funktion (DATE_FORMAT) verwendet, die das MySQL-interne Datumsformat in das uns bekannte, deutsche Datumsformat (DD.MM.JJJJ) umwandelt. Das Rating wird als Quotient aus Summe und Anzahl ausgelesen, so dass ich nach diesem Kriterium sortieren kann. So könnte man später auch eine Rangliste erstellen – man muss lediglich noch eine LIMIT-Klausel einfügen, damit nicht alle sondern nur die (z.B.) Top 50 ausgegeben werden.
An dieser Stelle ist anzumerken, dass MySQL anscheinen kein Problem damit hat durch 0 zu teilen. Ihr könnt das einfach ausprobieren/nachvollziehen, denn beim Einfügen (mittels der add_witz.php) werden sowohl Rating_Anzahl als auch Rating_Summe auf 0 gesetzt. Beim Auslesen wird nun die Summe durch die Anzahl geteilt, es gibt aber keine Fehlermeldung. Allerdings muss man MySQL zu Gute halten, dass der Wert immerhin auf NULL gesetzt wird
Die select-Liste bekommt denjenigen Wert als Default-Wert, der dem gerundeten Rating entspricht. Wurde noch nichts bewertet, wird der erste Punkt (also die Bewertungsaufforderung) vorausgewählt. Das Formular, das die select-Liste umschließt, verweist nach Klicken des "Bewerten"-Buttons auf die Datei rate_witz.php, deren Inhalt ich im nächsten Kapitel erläutere.
Zurück zur vorigen Seite:
PHP Ratingsystem - Beispiel: Witze Ratingsystem Daten einfügen Weiter zur nächsten Seite:
PHP Ratingsystem - Beispiel: Witze Ratingsystem Bewertung Speichern