it-swarm.com.de

Wie baut man ein einfaches Bewertungs- und 5-Sterne-Bewertungssystem?

Ich bin sehr neu in Web-Technologien und das ist im Wesentlichen für ein Projekt, an dem mein Team arbeitet. Wir arbeiten an einer Website zur Überprüfung von Lebensmitteln.

Bis jetzt bin ich nicht ganz sicher, wie ich ein einfaches 5-Sterne-Bewertungssystem implementieren kann. Soll ich eine serverseitige Sprache wie PHP oder eine clientseitige Sprache wie Javascript (mit JQuery) verwenden? Wenn man sich umschaut, scheint es, dass JQuery dafür besser geeignet ist? Oder wäre es eine Kombination aus beiden?

Was ich suche, was Funktionalität angeht, ist:

  • Sterne leuchten, wenn die Maus schwebt
  • Die Seite muss nicht erneut geladen werden, wenn auf einen Stern geklickt wird (nicht wirklich erforderlich).
  • Eine Art Durchschnitt wird neben den Sternen angezeigt
  • Die Bewertung muss irgendwo in einer MySQL-Datenbank gespeichert werden. (Ist das eine gute Idee?)

Ich entschuldige mich wirklich, wenn die Frage vage und dumm klingt, ich habe keine Ahnung, wie ich das umsetzen soll, und ich habe versucht, herumzuspielen. Wenn Sie Fragen dazu haben, lassen Sie es mich wissen.

Vielen Dank.

21
Chris Vinz

Sterne leuchten, wenn die Maus schwebt
Es gibt ein tolles Tutorial für das Design eines 5-Sterne-Bewertungssystems im Internet: http://rog.ie/blog/css-star-rater . Es ist rein CSS, also kein Javascript.

Page muss nicht neu geladen werden, wenn ein Stern angeklickt wird (wird nicht wirklich benötigt)
Ajax ist dein Freund. Was ich getan habe, war eine <a class="one_star" href="javascript: submitRating(1, 5)">, bei der <a> einen Stern darstellte, und die submitRating() - Funktion verwendete Ajax, um meine Bewertung (1/5) an den Server zu übertragen. Der Server speichert die Bewertung (und weist den Benutzer zu, der die rating) und berechnet die neue Durchschnittsbewertung neu und übermittelt die Ergebnisse im JSON-Format.

Eine Art Durchschnitt neben den Sternen
Einfach. Schreiben Sie ein SQL-Skript, das basierend auf der Produkt-ID sum der Durchschnittsbewertung (dh 1/5 + 2/5 + 4/5 usw.) annimmt, dividiert es (Summe) durch den Gesamtbetrag von bewertet und multipliziert es mit 100. Geben Sie den Wert an den Server und vom Server an den Client zurück. 

Rating muss irgendwo in einer MySQL-Datenbank gespeichert sein (ist dies eine gute Idee?)
Ich verwende dafür MySQL und es funktioniert wie ein Zauber ... Jedes DB-System ist in Ordnung.

20
Buhake Sindi

Sterne leuchten, wenn die Maus schwebt
Einfach, haben Sie ein Bild für den gelben Stern und ein Bild für den weißen Stern. Wenn ein Stern im Schwebeflug ist, werden alle "src" von links zu einem gelben Stern, alle rechts von ihnen haben ihre srcs in einen weißen Stern. 

Seite wird nicht neu geladen, wenn Stern angeklickt wird
.__ Sehen Sie sich Ajax/XHR an
http://en.wikipedia.org/wiki/Ajax_(programmierung)
Hinweis: Verwenden Sie eine .php-Datei mit dem Namen vote.php, und geben Sie die ID Ihres Lebensmittels und die vom Benutzer angegebene Bewertung ein.

Eine Art Durchschnitt zwischen den Sternen
Die meisten Websites zeigen nur 0%, 50% und 100% Sterne ... Benutzer werden nicht wirklich ausflippen, wenn sie nicht "genaue Genauigkeit" erhalten. 

Bewertung sollte in der MySQL-Datenbank gespeichert sein
Jedes Datenbanksystem ist in Ordnung. Aber ja, Sie möchten wahrscheinlich eine SQL-Datenbank dafür verwenden

3
Warty

Hier ist eine Antwort auf eine ähnliche Frage und sollte ein guter Anfang sein.

Verwandeln Sie eine Zahl in eine Sternebewertung mit jQuery und CSS

2
Justin Johnson

Um ein Nice-Clicky-Steuerelement zu haben, benötigen Sie Javascript. Du solltest also jQuery machen.

Ja, Sie möchten Daten in einer Datenbank speichern. Sie könnten PHP und MySQL dafür verwenden.

Da dies eine Klassenzuweisung ist, ist dies viel zu implementieren. Betrachten Sie Betrug mit einem vorhandenen CMS. Insbesondere Drupal hat eine Funktionalität, die der von Ihnen gewünschten entspricht. Sie müssen nicht viel von Drupal lernen, kaufen Sie einfach das Buch "Using Drupal". Kapitel 4 zeigt Ihnen, wie Sie:

... eine Community-Website zur Produktbewertung erstellen, mit ... und Fivestar-Modulen, die ein Bewertungs-Widget bieten.

Drupal basiert auf PHP und verwendet MySQL als Datenbank. Es scheint also, dass es Ihrem Ziel entspricht. Es kann etwas dauern, bis Drupal zum Laufen gebracht wird ... aber dann können Sie schnell zu Kapitel 4 gelangen.

Wenn der Lehrer darauf besteht, dass Sie Code schreiben, ist Drupal Open Source und es ist einfach, benutzerdefinierte Module hinzuzufügen.

0

Ja, Ihr Ansatz klingt perfekt. Es gibt ein paar Stücke:

sterne mit Hover-Effekt:

jquery: http://www.fyneworks.com/jquery/star-rating/

prototyp: http://www.fyneworks.com/jquery/star-rating/

css: http://www.henryhoffman.com/css-star-rating-tutorial.html

onclick kann einen Ajax-Aufruf mit Jquery aufrufen: http://api.jquery.com/jQuery.post/

dann kann es serverseitig in einer Bewertungstabelle gepflegt werden

es gibt ein längeres Beispiel hier:

http://webtint.net/tutorials/5-star-rating-system-in-php-mysql-and-jquery/

0
user262976

Eine Kombination aus JS und PHP ist der richtige Weg (wenn PHP die von Ihnen gewählte serverseitige Sprache ist). JQuery ist eine gute Möglichkeit, eine Art Sternensystem einfach zu implementieren. Ich habe dieses einmal für eine meiner Websites entwickelt, die ich später entfernte. Es war eine einfache Sache, bei der onrollover-Ereignisse mit 5 Bildern verknüpft waren. Wenn es angeklickt wurde, wenn es "id 4" war, würde dies als Abstimmung des Benutzers mit der .post () - Funktion von jQuery an ein PHP - Skript gesendet, das den Benutzer notierte und die Abstimmung in einer MySQL-Datenbank aufzeichnete, falls Sie hatten noch nicht gewählt.

0
Xorlev