Na gut ich helf dir mal.
Erstmal musst du wie du schon selbst erkannt hast,
alle entsprechenden Votings updaten.
Dazu mal nen kleines Skript,
dass du unter votes_update.php abspeicherst und einmal aufrufst.
Damit werden alle bisherigen Votes geupdatet,
d.h. nicht mehr der Durchschnitt ist gespeichert, sondern die Gesamtpunktezahl addiert zusammengerechnet.
<?php
define('ROOT_PATH', './');
include(ROOT_PATH.'global.php');
require(ROOT_PATH.'includes/sessions.php');
$update_count;
$sql = "SELECT image_id, image_votes, image_rating
FROM ".IMAGES_TABLE."
WHERE image_votes != 0";
$result = $site_db->query($sql);
while($row = $site_db->fetch_array($result)) {
$image_rating = $result[image_rating] * $result[image_votes];
$sql = "UPDATE ".IMAGES_TABLE."
SET image_rating = '"$image_rating."'
WHERE image_id = ".$result[' image_id'];
$site_db->query($sql);
$update_count++;
}
echo "$update_count Datenstze erfolgreich updated";
?>
Danach das Skript löschen,
da sonst bei nochmaligen Aufruf die Daten verflscht werden.
Wenn noch bei keinem Bild gevoted wurde, wird auch nichts geupdated.
So nun musst du entsprechend die Rating/Vote Funktion im 4images Sktipt anpassen,
damit nachfolgende Votes entsprechend nur noch addiert werden,
und nicht wieder der Durchschnitt angezeigt wird/errechnet.
Dazu musst du in der includes/functions.php folgendes ndern:
Suche
$new_rating = (($old_rating * $old_votes) + $rating) / ($old_votes + 1);
und ersetze es mit
$new_rating = ($old_rating + $rating);
Das wars eigentlich schon.