Hallo, mein erster Beitrag und gleich ein problem
Ich bastel zur Zeit an einer art Chartliste, in dem user ihre lieder eintragen können und auch abstimmen können. so dass eine große liste entsteht.
das ganze basiert auf dem powermoviescript (habe kein besseres gefunden was meinen wünschen entspricht).
zum problem:
zur zeit kann jeder angemeldete user für ein lied zwischen 1(schlechteste) und 10(beste) abstimmen. diese votes werden dann jeweils als einzelner datensatz in einer SQL DB gespeichert.
Alle votes werden dann zusammengezählt und mit AVG der durchschnitt errechnet.
Jetzt will ich aber nicht dass er den durchschnitt errechnet, sondern er soll einfach immer jeden abgegebenen vote mit auf die bisherigen draufrechnen. also 5 leute voten mit 10 = 50 punkte, der nächste votet mit 5 punkten = 55punkte.
eine kleine tücke noch:
ein user kann seine meinung ändern und noch einmal für ein lied abstimmen, sein alter vote wird dann gelöscht und sein neuer muss übernommen werden.
es wäre super wenn das jemand hinkriegen würde. ich verzweifel daran.
ich denke dass ist die wichtige stelle !
http://www.abload.de/img/unbenannth9d.jpg
da ist noch ein screenshot von der DB !
danke und grüße
Ich bastel zur Zeit an einer art Chartliste, in dem user ihre lieder eintragen können und auch abstimmen können. so dass eine große liste entsteht.
das ganze basiert auf dem powermoviescript (habe kein besseres gefunden was meinen wünschen entspricht).
zum problem:
zur zeit kann jeder angemeldete user für ein lied zwischen 1(schlechteste) und 10(beste) abstimmen. diese votes werden dann jeweils als einzelner datensatz in einer SQL DB gespeichert.
Alle votes werden dann zusammengezählt und mit AVG der durchschnitt errechnet.
Jetzt will ich aber nicht dass er den durchschnitt errechnet, sondern er soll einfach immer jeden abgegebenen vote mit auf die bisherigen draufrechnen. also 5 leute voten mit 10 = 50 punkte, der nächste votet mit 5 punkten = 55punkte.
eine kleine tücke noch:
ein user kann seine meinung ändern und noch einmal für ein lied abstimmen, sein alter vote wird dann gelöscht und sein neuer muss übernommen werden.
es wäre super wenn das jemand hinkriegen würde. ich verzweifel daran.
PHP-Code:
else {
$strSql = "DELETE FROM " . $CFG['Prefix'] . "votes WHERE UserID='$ActiveUser[ID]' AND PropID='$kvote' AND MovieID='$ID'";
$result = pml_mysql_query($strSql, $pmldb) or trigger_error("can't execute:<pre>$strSql</pre><i>".mysql_error($pmldb)."</i>",E_USER_ERROR);
$num = mysql_affected_rows();
if($num)
$StatusMessage[] = "$strOldVoteDeleted...";
}
if($SaveVote) {
$strSql = "INSERT INTO " . $CFG['Prefix'] . "votes (MovieID, PropID, Vote, IP, UserID) VALUES ('$ID','$kvote','$VoteVal','$IP', '$ActiveUser[ID]')";
pml_mysql_query($strSql, $pmldb) or trigger_error("can't execute:<pre>$strSql</pre><i>".mysql_error($pmldb)."</i>",E_USER_ERROR);
$StatusMessage[] = "$strDloadVoteSaved...\n";
//new db-structure
$strSql = "SELECT AVG(votes.Vote) AS Vote
FROM $CFG[Prefix]votes AS votes
WHERE votes.PropID='$kvote'
AND votes.MovieID='$ID'
GROUP BY votes.PropID";
$query = pml_mysql_query($strSql, $pmldb) or trigger_error("can't execute:<pre>$strSql</pre><i>".mysql_error($pmldb)."</i>",E_USER_ERROR);
$row = mysql_fetch_row($query);
$row[0] = sprintf("%01.1f", $row[0]);
$strSql = "UPDATE $CFG[Prefix]movies_$ActiveList[name] SET {$PropAll[$kvote]['Name']} = '$row[0]' WHERE MovieID='$ID'";
pml_mysql_query($strSql, $pmldb) or trigger_error("can't execute:<pre>$strSql</pre><i>".mysql_error($pmldb)."</i>",E_USER_ERROR);
$smarty->clear_cache(null,$CacheId);
}
http://www.abload.de/img/unbenannth9d.jpg
da ist noch ein screenshot von der DB !
danke und grüße
Kommentar