
Zitat von
auron2008
Hi ^^ ,
also ich habe eine Funktion geschrieben, die bei jedem klick einen wert höher zählt. Nun soll sie nach 100 klicks den Zähler wieder auf 0 setzen, genau da liegt mein Problem
so sieht meine Funktion aus :
PHP-Code:
// Verslosungsklick
function verslosungsklick ($klicks,$fuer) {
global $db_prefix;
$user = db_query("SELECT * FROM ".$db_prefix."_verlosung_klick WHERE uid = '".$fuer."'");
$userk = db_query("SELECT 'klicks' ".$db_prefix."_verlosung_klick WHERE uid = '".$fuer."'");
if (!mysql_num_rows($user)) {
db_query ("INSERT INTO ".$db_prefix."_verlosung_klick (uid,klicks) VALUES ('".$fuer."','".$klicks."')");
} else {
if($userk == 100)
{
db_query ("UPDATE ".$db_prefix."_verlosung_klick SET klicks = 0 WHERE uid='".$fuer."' ");
}else
{
db_query ("UPDATE ".$db_prefix."_verlosung_klick SET klicks=klicks +".$klicks." WHERE uid='".$fuer."' ");
}
}
}
er zählt zwar hoch, aber er macht bei 100 kein stopp, sondern macht weiter.
Könnt ihr mir helfen ?
lg auron2008
ich nehme mal an das Klicks jeweils nur um 1 erhöht werden soll und das es sich auf den Aktuell eingeloggten user handelt.
Probiere mal folgendes aus
PHP-Code:
<?
// Verslosungsklick
function verslosungsklick () {
global $db_prefix;
$user = db_query("SELECT klicks FROM ".$db_prefix."_verlosung_klick WHERE uid = '".$_SESSION['uid']."'");
if (!mysql_num_rows($user)) {
db_query ("INSERT INTO ".$db_prefix."_verlosung_klick (uid,klicks) VALUES ('".$_SESSION['uid']."','1')");
} else {
$userk = mysql_fetch_array(db_query("SELECT 'klicks' FROM ".$db_prefix."_verlosung_klick WHERE uid = '".$_SESSION['uid']."'"));
if($userk['klicks'] >= 100) {
db_query ("UPDATE ".$db_prefix."_verlosung_klick SET klicks = 0 WHERE uid='".$_SESSION['uid']."' ");
} else {
db_query ("UPDATE ".$db_prefix."_verlosung_klick SET klicks=klicks + 1 WHERE uid='".$_SESSION['uid']."' ");
}
}
}
?>
PS: nun brauchst du nur verslosungsklick(); in die dateien einbinden wo die klicks gezählt werden sollen und dann wird bei dem User der geklickt hat 1 Klick gezählt und eingetragen.