Hallo Leute, ich bin hier am verzweifeln.
Habe mir ein 5 Stars rating system runtergeladen (warum auch das rad neu erfinden).
Soweit so gut das läuft super muss ich sagen, es kann sogar eine Top funktion also die 5 best bewerteten Rezepte zeigt er mir auch an.
So nun möchte ich aber ein Rezept des Monats Archiv schreiben, und da bin ich am ende mit meinem Latein.
Hier mal ein bisschen Info für Euch damit ihr wisst worum es geht:
MySQL Aufbau vom Voting system ( Table Name ist "ratings"):
id (id die automatisch hochzählt)
rating_id (id vom Rezept)
rating_num (voting Punkte 1-5)
IP (Für die IP Sperre)
date (habe ich hinzugefügt für die sortierung)
MySQL Aufbau vom Rezepte system ( Table Name ist "rezepte"):
id (wie oben)
name (rezeptname)
text (rezept inhalt)
date (wann es eingestellt wurde)
koch (name des kochs)
skill (schwierigkeitsgrad)
Soweit so gut, das rating system arbeitet so, dass ich die Funktion in die rezepte.php mit einbaue, und speichert beim voten direkt die ID vom table "rezepte" in ratings->rating_id.
So nun muss ich es hinbekommen, dass ich eben ein rezept des monats archiv hinbekomme, das heisst im klaren, es muss quasi pro monat ein rezept angezeigt werden (das rezept mit z.b. datum 1.1.09 und den meisten punkten bei Januar)
Ich weiss nun nicht wie ich das anstellen soll, denn mein PHP ist nicht wirklich das beste.
Achja Pro Vote gibt es einen neuen eintrag bei ratings.
Und hier habe ich noch die besagte Funktion die in dem Script dabei war.
<?PHP
function getTopRated($limit, $table, $idfield, $namefield){
$result = '';
$sql = "SELECT COUNT(ratings.id) as rates,ratings.rating_id,".$table.".".$namefield." as thenamefield,ROUND(AVG(ratings.rating_num),2) as rating
FROM ratings,".$table." WHERE ".$table.".".$idfield." = ratings.rating_id GROUP BY rating_id
ORDER BY rates DESC,rating DESC LIMIT ".$limit."";
$sel = mysql_query($sql);
$result .= '<ul class="topRatedList">'."\n";
while($data = @mysql_fetch_assoc($sel)){
$result .= '<a href="index.php?id=1343&rid='.$data[rating_id].'"><li>'.$data['thenamefield'].' ('.$data['rating'].')</li></a>'."\n";
}
$result .= '</ul>'."\n</a>";
return $result;
}
?>
Alles anzeigen
Ich hoffe jemand hier kann mir weiterhelfen denn ich weiss nicht mehr weiter