habe ein Votesystem , das beim klick auf das Bild das Bild bewerten lässt und die anderen Bilder ebenfalls die in der DB vorhanden sind. Er hört aber leider nicht auf, sodaß man für ein Bild dann mehrmals voten kann.Das sollte aber nicht so sein.
Fragen: Wie kann ich es stoppen, wenn man jedes Bild einmal gevotet hat?Meine Idee wäre zum Beispiel den selbstaufruf auf die Anzahl der Zeilen in der Tabelle zu begrenzen.Weiß aber leider nicht wie!
eine schleife mit zählen bis 10 wäre auch schön aber mein horizont reicht dafür heute leider nicht ganz.
Fragen: Wie kann ich es stoppen, wenn man jedes Bild einmal gevotet hat?Meine Idee wäre zum Beispiel den selbstaufruf auf die Anzahl der Zeilen in der Tabelle zu begrenzen.Weiß aber leider nicht wie!
eine schleife mit zählen bis 10 wäre auch schön aber mein horizont reicht dafür heute leider nicht ganz.
PHP-Code:
<?
@include("config.php");
@mysql_connect($db_server,$db_user,$db_password) or die("Datenbankverbindung fehlgeschlagen");
@mysql_select_db($db_name) or die("Datenbankauswahl fehlgeschlagen");
$resultid = @mysql_query("SELECT Count(id)-1 FROM ".$db_table_pictures."");
$anzahl = @mysql_result($resultid,0);
echo $anzahl;
if($_POST["vote"]){
mysql_query("UPDATE ".$db_table_pictures." SET points=points+".$_POST["vote"].",votes=votes+1 WHERE id=".$_POST["id"].";");
}
if(strlen($_GET["comment_name"])>2 && strlen($_GET["comment_text"])>2){
$name = $_GET["comment_name"];
$name = str_replace("<","<",$name);
$name = str_replace(">",">",$name);
$name = stripslashes($name);
$text = $_GET["comment_text"];
$text = str_replace("<","<",$text);
$text = str_replace(">",">",$text);
$text = stripslashes($text);
mysql_query("INSERT INTO ".$db_table_comments." VALUES('',".$_GET["show"].",'$name','$text',".time().");");
}
if(!$_GET["show"] and !$_POST["show"]){
$result = mysql_query("SELECT * FROM ".$db_table_pictures.";");
while(list($ids[]) = mysql_fetch_row($result));
while(true){
srand((double)microtime()*1000000);
$show = rand(1,mysql_num_rows($result));
if(array_search($show,$ids)){
break;
}
}
}
else{
$show = $_GET["show"] ? $_GET["show"] : $_POST["show"];
}
$row = mysql_fetch_array(mysql_query("SELECT * FROM ".$db_table_pictures." WHERE id=$show;"));
list($next) = mysql_fetch_row(mysql_query("SELECT id FROM ".$db_table_pictures." WHERE id>$show ORDER BY id ASC LIMIT 0,1;"));
if($row["points"] != 0){
$row["points"] = number_format($row["points"]/$row["votes"],2,",","");
}
if(!$next){
list($next) = mysql_fetch_row(mysql_query("SELECT id FROM ".$db_table_pictures." WHERE id>1 ORDER BY id ASC LIMIT 0,1;"));
}
echo $header;
echo "
<form action=\"".$PHP_SELF."\" method=\"post\">
<table align=\"center\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\">
<tr>
<td rowspan=\"2\">schlecht</td>
<td rowspan=\"2\" width=\"10\"> </td>";
for($i=1;$i<=$max_points;$i++){
echo "
<td align=\"center\">$i</td>";
}
echo "
<td rowspan=\"2\" width=\"10\"> </td>
<td rowspan=\"2\">gut</td>
</tr>
<tr>";
for($i=1;$i<=$max_points;$i++){
echo "
<td align=\"center\"><input type=\"radio\" name=\"vote\" value=\"$i\" onClick=\"submit();\"></td>";
}
echo "
</tr>
</table>
<input name=\"show\" type=\"hidden\" value=\"$next\">
<input name=\"id\" type=\"hidden\" value=\"".$row["id"]."\">
</form>
</td>
</tr>
<tr>
<td align=\"center\" colspan=\"2\" height=\"".$img_height."\"><img alt=\"\" border=\"0\" src=\"".$img.$show.$img_format_info."\"></td>
</tr>
<tr>
<td colspan=\"2\" height=\"10\"> </td>
</tr>
<tr>
<td valign=\"top\" width=\"50%\"></td>
<td align=\"right\" valign=\"top\" width=\"50%\">Punkte: <b>".$row["points"]."</b> (".$row["votes"]." Votes)<br>Bild Nr.$bnr<br></td>
</tr><td colspan=\"2\">";
"</table>";
echo $footer;
@mysql_close();
?>
Kommentar