php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.12.2011, 17:10  
Benutzer
 
Registriert seit: 10.02.2010
Beiträge: 75
PHP-Kenntnisse:
Anfänger
levans befindet sich auf einem aufstrebenden Ast
Standard Bewertung mit 5 Sternen - Formel?

Hallo,

ich komme leider nicht auf die richtige Formel. Ich und Mathe war immer eine Katastrophe, zumal es nun auch einige Jahre her ist mit Schule.

Es geht um die Bewertung eines Gegenstands.

PHP-Code:
  //Durchschnittsbewertung
$res mysql_query("SELECT materialrating,test2rating,test3rating,test4rating FROM ".$conf['db_prefix']."_bewertungen WHERE gegenstand_id='".$gegenstand['id']."' AND status='1'");
  
$u 1;
  
$rating "0";
  while (
$rating mysql_fetch_array($res))
  { 
  
$durchrating += $rating['materialrating']+$rating['test2rating']+$rating['test3rating']+$rating['test4rating']/4;
  
$u++;
  }
  
mysql_free_result($res);
  
//Ende - Durchschnittsbewertung

    
$durchschnittsbewertung $durchrating $gegenstaende_anzahl['anzahl']; 
In der Datenbank sind zurzeit 2 bewertete Gegenstände. Ich würde gerne die Durschnittsbewertung grafisch mit Sternen versehen, allerdings ist das oben noch nicht die Formel, die das Rating nur von 1 bis 5 darstellt... Würde mich freuen wenn mir jemand ein Tipp geben könnte auf den Weg zur richtigen Formel
levans ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.12.2011, 17:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

„Punktrechnung geht vor Strichrechnung“ sollte Dir wohl was sagen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.12.2011, 17:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

PHP-Code:
PHP-Fortgeschrittene 
Ich glaub ja wohl es hackt!

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 06.12.2011, 17:23  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Wieso hast du 3 Spalten für Bewertungen? Wie gehören diese logisch zusammen?

Machs mit SQL:
SUM(bewertung)/COUNT(*) oder direkt AVG()
GROUP BY gegenstandsid
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

Geändert von Dark Guardian (06.12.2011 um 18:22 Uhr).
Dark Guardian ist offline   Mit Zitat antworten
Alt 06.12.2011, 18:02  
Benutzer
 
Registriert seit: 10.02.2010
Beiträge: 75
PHP-Kenntnisse:
Anfänger
levans befindet sich auf einem aufstrebenden Ast
Standard

die andere (3) Spalten gehören zum Kriterium z.B. preisrating

diese 4 Kriterien bewerten den Gegenstand jeweils von einer Skala 1-5... um eine richtige Durchschnittsbewertung zu erhalten, muss ich diese Kriterien ja komplett zusammenzählen. Dann kommt da bsp. 18 raus mit dem oben angegebenen Code, aber

nun habe ich eine Übersichtsseite und dort wollte ich für diesen Gegenstand die Durchschnittsbewertung ausgeben lassen, ebenfalls in einer Skala von 1-5...
levans ist offline   Mit Zitat antworten
Alt 06.12.2011, 18:22  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Beispiel SQL Code:

Code:
SELECT 
    AVG(r1) AS avg_rating1,
    AVG(r2) AS avg_rating2,
    AVG(r3) AS avg_rating3,
    ((AVG(r1)+AVG(r2)+AVG(r3))/3) AS avg_overall
FROM 
   table
GROUP BY itemid
Erläuterung:
AVG() ermittelt den Durchschnittswert innerhalb einer Gruppe von Zeilen welche mit GROUP BY erzeugt wird. Gruppiert nach Gegenstandsid errechnet AVG() also den Druchschnitt für jede Bewertung für jeden Gegenstand.

Für den Gesamtdurchschnitt alle Druchschnittswerte zusammenziehen und durch die Anzahl an verwendeten Werten Teilen: Puff, fertig.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

Geändert von Dark Guardian (06.12.2011 um 18:25 Uhr).
Dark Guardian ist offline   Mit Zitat antworten
Alt 11.12.2011, 21:59  
Benutzer
 
Registriert seit: 10.02.2010
Beiträge: 75
PHP-Kenntnisse:
Anfänger
levans befindet sich auf einem aufstrebenden Ast
Standard

Danke! Allerdings ist das doch im Prinzip das gleiche wie mein Code, nur der Unterschied meins ist die PHP-Lösung und deins die SQL-Lösung.

Die Durchschnittsbewertung von einem Gegenstand sollte auch nur bis 5 gehen. So wie bei den ganzen Portalen wo etwas mit 1-5 Sternen bewertet wird. Dafür muss es irgendwie eine ganz einfache Formel geben worauf ich leider nicht komme...
levans ist offline   Mit Zitat antworten
Alt 11.12.2011, 22:25  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.729
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Zitat:
Zitat von levans
Allerdings ist das doch im Prinzip das gleiche wie mein Code, nur der Unterschied meins ist die PHP-Lösung und deins die SQL-Lösung.
Das hängt von deiner Definition von „im Prinzip“ ab, aber: Nein.

Mir scheinen die Komponenten deiner Problembeschreibung nicht zusammenzupassen. Dein Code stellt nicht das dar, was du mit Worten umschreibst. Außerdem enthält er undefinierte Variablen, ist also unvollständig. Für dich mag er völlig logisch sein, für andere Leser ist er das aber nicht unbedingt.
__________________
Blog | Buch | Kaloa
mermshaus ist gerade online   Mit Zitat antworten
Alt 11.12.2011, 23:06  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
Zitat von levans Beitrag anzeigen
Die Durchschnittsbewertung von einem Gegenstand sollte auch nur bis 5 gehen. So wie bei den ganzen Portalen wo etwas mit 1-5 Sternen bewertet wird. Dafür muss es irgendwie eine ganz einfache Formel geben worauf ich leider nicht komme...
Herrgott, das ist Fünftklässler-Mathe... und Dark Guardian hats dir schon zweimal vorgekaut

SUMME aller Punkte geteilt durch ANZAHL der abgegebenen Bewertungen.

5 Leute stimmen ab, alle geben 5 Sterne: (5*5) / 5 = 5
10 Leute stimmen ab, 5 geben 5 Sterne, 5 geben 2 Sterne: (5*5 + 5*2) / 10 = 3.5

Klingelts langsam?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formel zur Preisberechnung aus array verwenden noop PHP Einsteiger 20 13.05.2012 21:49
[Erledigt] Abfrage für durchschnittliche Bewertung und Anzahl der Kommentare Karottenkopf51 Datenbanken 14 26.07.2011 10:58
Formel für Bildverkleinderung den PHP Tipps 2010 3 23.06.2010 09:57
Input soll Formel aufrufen die ein anderes Inputfeld befüllt Farlif JavaScript, Ajax und mehr 5 22.03.2010 18:46
Einträge nach Bewertung sortieren bingo Datenbanken 6 27.09.2009 11:15
Rangliste nach Bewertung Benjamin Such PHP Tipps 2009 11 06.08.2009 13:14
Bewertung mit PHP durchführen Geraldo PHP Tipps 2006 3 23.03.2006 11:09
Bewertung Da-JS PHP Tipps 2007 6 14.12.2005 17:35
formel in function einbauen!! PHP Tipps 2005-2 9 05.10.2005 15:10
Bildergalerie mit Bewertung maccoder PHP Tipps 2005-2 8 22.09.2005 21:38
Mathe: Schleife in Formel faux Off-Topic Diskussionen 2 28.05.2005 00:00
Formel aus Variable ausgerechnet in andere Variable rein PHP Tipps 2004 5 11.07.2004 14:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sterne bewertung php, sql durchschnittsbewertung, formel bewertung, bewertungen mit sternen, sterne bewertungen code, sql bewertung sterne, sternen formel, bewertungsskala 1-5 smileys, php bewertungs formel, 5 sterne bewertung code, anzahl bewertungen formel, bewertungen formel php, formel für php rating, bewertung

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum