Fett. Das hätte mein Problem gelöst, aber egal, denke so ists auch gut:
Tabbellen Struktur sieht nun so aus:
Code: Select all
id | pic_id | ip | voters | points | average
Den Code fürs posten:
ganz oben:
Code: Select all
<?
If($action=="vote" and $exist>="1")
{
$points_insert=$points+$points_update_value; //alter wert + neuer wert
$voters_insert=$voters+1; //natürlich ein Voter mehr!
$average=$points_insert/$voters_insert; // natürlich den durchschnitt aber vom NEUEN wert, deshalb _insert!
$sql = "UPDATE ppz_voting SET // Updaten in die Tabbele!
points='$points_insert',
ip='$ip',
voters='$voters_insert',
average='$average' where pic_id='$picid'";
$result = mysql_db_query($db_name,$sql);
}
?>
<?
If($action=="vote" and $exist=="0")
{
$points_insert=$points_update_value; // bei neu anlegen ist natürlich gesamt = erster Vote
$voters_insert="1"; // natürlich nur ein Voter !!
$average=$points_insert/$voters_insert; // Durchscnitt natürlich !
$sql = "INSERT INTO ppz_voting // diesmal nicht updaten , sondern natürlich neu anlegen da.... exist = 0(pic_id,points,ip,voters,average)values('$picid','$points_insert','$ip','$voters_insert','$average')";
mysql_db_query($db_name, $sql);
}?>
Nun kommen wir zum Kernstück: Das Vote Formular!!
Ist n bissle Müll mit zwischen drin, aber so tuts *g*
erstmal die Auslesung, obs schon n Vote zu dem Pic gibt:
Ich setze die Variable $exist einfach gleich der Anzahl MYSQL Rows.
Code: Select all
<?
$sql = "SELECT * FROM ppz_voting where pic_id='$bilder_id'";
$result = mysql_db_query($db_name,$sql);
while ($zeile = mysql_fetch_array($result))
{
$points= $zeile["points"];
$last_ip= $zeile["ip"];
$voters=$zeile["voters"];
$average= $zeile["average"];
}
$exist = mysql_num_rows($result);
?>
Nun wird , abhängig von der Anzahl an MYSQL rows entweder der durchschnitt angegeben, oder auch nicht ...
Code: Select all
<?IF($exist > 0)
{
?>Schnitt: <b><?echo substr($average, 0, 3)?></b> Punkte mit <?echo $voters?> Stimmen <?}?>
<?
IF($exist == 0)
{
$points="0";
$voters="0";
$average="0";
?>
Leider Keine Punkte
<?}?>
Zu guter Letzt der kern vom Formular:
Weiter gabe der werte , damit die Bedingungen im Header zutreffen, und gevotet wird.
Natürlich wird überprüft, ob die letzte IP mit der IP des aktuellen Voters übereinstimmt, und wenn ja, gibts halt kein Vote button!!
Code: Select all
<form action="pics.php" target="_self" enctype="multipart/form-data">
<input name="exist" type="hidden" value="<?echo $exist?>">
<input name="color" type="hidden" value="<?echo $color?>">
<input name="action" type="hidden" value="vote">
<table border=0><tr><td width="398" background="" height="25">
<input type="radio" name="points_update_value" value="1">1 |
<input type="radio" name="points_update_value" value="2">2 |
<input type="radio" name="points_update_value" value="3">3 |
<input type="radio" name="points_update_value" value="4">4 |
<input type="radio" name="points_update_value" value="5">5 |
<input type="radio" name="points_update_value" value="6">6 |
<input type="radio" name="points_update_value" value="7">7 |
<input type="radio" name="points_update_value" value="8">8 |
<input type="radio" name="points_update_value" value="9">9 |
<input type="radio" name="points_update_value" value="10">10<br>
<input name="last_ip" type="hidden" value="<?echo $last_ip?>">
<input name="points" type="hidden" value="<?echo $points?>">
<input name="voters" type="hidden" value="<?echo $voters?>">
<input name="low_limes" type="hidden" value="<?echo $low_limes?>">
<input name="ip" type="hidden" value="<?echo $ip?>">
<input name="kom_party" type="hidden" value="<?echo $party_short?>">
<input name="kom_bild" type="hidden" value="<?echo $bilder_id?>">
<input name="picid" type="hidden" value="<?echo $bilder_id?>">
<input name="party_short" type="hidden" value="<?echo $party_short?>">
<?IF ($last_ip!=$ip){?>
<input type="submit" value="voten!">
<?}?>
<?IF ($last_ip==$ip){?>
<b><font face="Arial, Helvetica, sans-serif" size=1 color=black>Du hast bereits für dieses Bild gevotet!</b></font>
<?}?>
</form>
Falls ihr euch das ganze mal angucken wollt, hier der LINK, und einfach eins von den Pics auswählen !!!
Danke für alle Hilfen und Tipps!!!!
h**p://ufc.ngz-server.de/ppz/index.php?content=tmfh&color=blue
ps.: Ist ne Seite mit party pics ! Hier von ner Auto-Tuning-Messe!