Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compteur perso

Sujet résolu
    30 décembre 2005 à 23:41:14

    Tout marche à un point près : à chaque actualisation, il ajoute une entrée :o
    Pourtant c'est censé marcher parfaitement...
    $time = time();
    $limite = time() - (5*60);
    mysql_query("DELETE FROM online WHERE time <= '$limite' "); //On enlève les visites de plus de plus de 5 minutes

    $sql_comp = mysql_query("SELECT COUNT(*) AS conn_ou_non WHERE ip='$ip' ");//On regarde si le visiteur est enregistré
    if ($sql_comp != NULL) //Si oui
    {
    mysql_query("UPDATE online SET time='$time' WHERE ip='$ip' "); //On M.A.J
    }
    else //Sinon
    {
    mysql_query("INSERT INTO online VALUES('$ip','$time')"); //On enregistre
    }
    $retour_comp2 = mysql_query("SELECT COUNT(*) AS nombre FROM online"); //On compte le tout
    $sql_comp2 = mysql_fetch_array($retour_comp2);
    $connectes = $sql_comp2['nombre'];
    // le compteur est fini ^^
    • Partager sur Facebook
    • Partager sur Twitter
      30 décembre 2005 à 23:47:04

      != 0 au lieu de != NULL.

      Sinon, tu peux résumer tout ca en deux requêtes XD
      • Partager sur Facebook
      • Partager sur Twitter
        30 décembre 2005 à 23:49:29

        Ha...lesquelles ? ^^ Et ton histoire de 0 à la place de NULL ne change rien !
        • Partager sur Facebook
        • Partager sur Twitter
          30 décembre 2005 à 23:57:43

          Bah la première tu supprimes toutes les entrées dont 5 minutes sont passés OU si l'ip est égale à $ip, ce qui supprime de la liste les visiteurs parties et celui qui visite la page, et après, tu insers de nouveau celui qui regarde la page. Ca évite d'avoir à regarder si le visiteur est déjà inséré dans la BDD, donc tu gagnes des requêtes ;)

          sinon, remplace

          if ($sql_comp != NULL) //Si oui

          par

          if ($sql_comp['conn_ou_non'] != NULL) //Si oui
          • Partager sur Facebook
          • Partager sur Twitter
            31 décembre 2005 à 0:06:46

            Ca m'a l'air de marcher :) y'a pas quelqu'un qui voudrait y aller pour voir si tout est ok svp ?
            • Partager sur Facebook
            • Partager sur Twitter
              31 décembre 2005 à 0:26:33

              Il ne faut pas faire de condition sur ressource SQL...
              La fonction query ne renvoie rien de directement utilisable, il faut faire un mysql_result ou mysql_fetch_assoc ou quelque chose pour utiliser le resultat de ta requete.

              Ca sera different de 0, mais du coup, ça le sera toujours: ton compteur ne va plus bouger maintenant.
              • Partager sur Facebook
              • Partager sur Twitter

              Compteur perso

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown