Ergebnis 1 bis 10 von 12

Thema: if problem :frusty:

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer
    Registriert seit
    17.02.2009
    Beiträge
    356

    if problem :frusty:

    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

  2. #2
    Benutzer
    Registriert seit
    29.11.2009
    Beiträge
    89
    Zitat Zitat von auron2008 Beitrag anzeigen
    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.


  3. #3
    Erfahrener Benutzer
    Registriert seit
    17.02.2009
    Beiträge
    356
    Genau so soll's laufen ^^ . Bei deinem code kommt nu folgende fehlermeldung :
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/kaiperiu/public_html/lose4klicks/lib/functions.lib.php on line 235

    PHP-Code:
    $userk  mysql_fetch_array(db_query("SELECT 'klicks' ".$db_prefix."_verlosung_klick WHERE uid = '".$_SESSION['uid']."'")); 
    lg auron2008

  4. #4
    Benutzer
    Registriert seit
    29.11.2009
    Beiträge
    89
    Zitat Zitat von auron2008 Beitrag anzeigen
    Genau so soll's laufen ^^ . Bei deinem code kommt nu folgende fehlermeldung :
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/kaiperiu/public_html/lose4klicks/lib/functions.lib.php on line 235

    PHP-Code:
    $userk  mysql_fetch_array(db_query("SELECT 'klicks' ".$db_prefix."_verlosung_klick WHERE uid = '".$_SESSION['uid']."'")); 
    lg auron2008
    kleiner fehler große Ursache ^^ aber auch leicht zu beheben da fehlt nur ein FROM zwischen klicks und der db ^^

    PHP-Code:
    $userk  mysql_fetch_array(db_query("SELECT 'klicks' FROM ".$db_prefix."_verlosung_klick WHERE uid = '".$_SESSION['uid']."'")); 
    so muss es aussehn

    PS: so als kleine Info am rande für zukünftig PHP scripte http://www.php-faq.de/q/q-sql-select.html


  5. #5
    Erfahrener Benutzer
    Registriert seit
    17.02.2009
    Beiträge
    356
    Danke für deine Mühen ^^ , aber das läuft immernoch weiter, langsam verzweifel ich daran , als ob er das if($userk['klicks'] >= 100) gar nich beachtet

    Hmm mir is gerad aufgefallen das die Uhrzeit hier links wann gepostet wird, eine Stunde vor geht wenn man ausgeloggt ist

  6. #6
    Benutzer
    Registriert seit
    29.11.2009
    Beiträge
    89
    Zitat Zitat von auron2008 Beitrag anzeigen
    Danke für deine Mühen ^^ , aber das läuft immernoch weiter, langsam verzweifel ich daran , als ob er das if($userk['klicks'] >= 100) gar nich beachtet

    Hmm mir is gerad aufgefallen das die Uhrzeit hier links wann gepostet wird, eine Stunde vor geht wenn man ausgeloggt ist
    könnte es vllt sein das in der datenbank etwas nicht stimmt? poste mir mal bitte den aufbau der Tabelle


Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •