begin process at 2012 05 29 00:02:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

un code plusieur compteur sur une table


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

un code plusieur compteur sur une table

mercredi 15 avril 2009 à 17:34:29 | un code plusieur compteur sur une table

MADESIGNER

Bonjour je suis entrain de créer un site) des inscrits.  Je voudrai qu ils aient un compteur indépendant mais que celui ci ce genere automatiquement a la creation de leur blog par rapport a url du blog

j espere que je me suis expliqué clairement merci pour vos reponses.

ce que fais ce code:
-compteur live
-compteur visite du jour
-compteur visite total

voici mon code:
<?
include("......") ;

//on recupere l adresse ip du visiteur
if($_SERVER)     {
              if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
                      $adress = $_SERVER['HTTP_X_FORWARDED_FOR'];
                elseif(isset($_SERVER['HTTP_CLIENT_IP']))
                      $adress = $_SERVER['HTTP_CLIENT_IP'];
                else
                      $adress = $_SERVER['REMOTE_ADDR'];
          }
 else         {
                if(getenv('HTTP_X_FORWARDED_FOR'))
                      $adress = getenv('HTTP_X_FORWARDED_FOR');
                elseif(getenv('HTTP_CLIENT_IP'))
                      $adress = getenv('HTTP_CLIENT_IP');
                else
                      $adress = getenv('REMOTE_ADDR');
          }

//on verifie si on a pas changé de jour et on recupere le chiffre du compteur
$sql="select * from compteur_visite where ip='compteur'";
$res=mysql_query($sql, $db);
$ligne = mysql_fetch_object ($res);
$date = date("Y-m-d");

//on convertit l heure courante en minute d une journee
$time=(date("H") * 60) + date("i");

//on recupere le compteur courant et le temps t
$compteur=$ligne->compteur;
$t=$ligne->time; //temps de connexion de reference
$d=$ligne->duree; //duree de renouvellement de reference

//on test si on a changé de jour
if ($date!="$ligne->date")
{
    //on vide toutes les addresses ip enregistrées dans la table lors du changement de jour
    $sql="delete from compteur_visite where ip!='compteur'";
    $res=mysql_query($sql, $db) or die ("requete invalide supp ip");
    //on met a jour la nouvelle date dans la table
    $sql="update compteur_visite set date='$date'";
    $res=mysql_query($sql, $db) or die ("requete invalide maj date");
}

//on verifie l adresse ip du visiteur et aussi son heure de passage
$sql="select * from compteur_visite where ip='$adress'";
$res=mysql_query($sql, $db) or die ("requete invalide verif ip");
$ligne = mysql_fetch_object ($res);
$num_rows =mysql_numrows ($res);
if ($num_rows==0)
{
    //on enregistre l adresse ip si elle est inconnu et on incremente le compteur
    $sql="insert into compteur_visite (ip,time,duree) values ('$adress','$time','$time')";
    $res=mysql_query($sql, $db)or die ("requete invalide enr ip");
    $compteur+=1;
    $sql="update compteur_visite set compteur=$compteur where ip='compteur'";
    $res=mysql_query($sql, $db) or die ("requete invalide up compt");
}
else
{
    //si l'adresse ip est connu alors verifie si sa connexion precedente est superieur a la durée
    //de renouvellement et si son heure de passage precedente incremente ou pas les connectés
    $time1=$ligne->time; //on recupere l'heure de sa precedente connexion de notre connecté
    $duree1=$ligne->duree; //on recupere l'heure de sa precedente connexion de notre connecté
   
    // on verifie si sa derniere connexion ne date pas de plus que la duree de reference
    if ($d*60<($time - ($duree1)))
    {
        //si la duree de reference est depassé alors notre connecté est comptablisé
        //comme nouvelle visite et on met a jour sa nouvelle heure de passage
        $sql="update compteur_visite set time=$time,duree=$time where ip='$adress'";
        $res=mysql_query($sql, $db) or die ("requete invalide maj time");
       
        //on cree une ligne fictive pour pouvoir le comptabilisé dans les connectés de jour
        $adress1=$adress.".".$compteur;
        $sql="insert into compteur_visite (ip,time,duree) values ('$adress1','$time','$time')";
        $res=mysql_query($sql, $db)or die ("requete invalide enr ip");
       
        //et on increment le compteur de visite
        $compteur+=1;
        $sql="update compteur_visite set compteur=$compteur where ip='compteur'";
        $res=mysql_query($sql, $db) or die ("requete invalide up compt");
    }
    else
    {
        //on met a jour son heure de passage si elle est superieure a t
        if ($time>(($time1)-$t))
        {
            $sql="update compteur_visite set time=$time where ip='$adress'";
            $res=mysql_query($sql, $db) or die ("requete invalide maj time");
        }
    }
}


//on compte le nb de connecté de la journée
$sql="select * from compteur_visite";
$res=mysql_query($sql, $db) or die ("requete invalide compte visiteur journee");
$compteur_j=(mysql_numrows ($res))-1;

//on compte le nb de connecté
$time=$time-$t;
$sql="select * from compteur_visite where time>=$time and ip!='compteur'";
$res=mysql_query($sql, $db) or die ("requete invalide compte visisteur connecté");
$compteur_c=mysql_numrows ($res);
mysql_free_result($res);
mysql_close();
?>


Cette discussion est classée dans : mysql, sql, compteur, ip, time


Répondre à ce message

Sujets en rapport avec ce message

Lecture dans une db MySql [ par rems02 ] Voilà j'ai un petit probleme:apres connexion à ma base de données MySqlje veux recuperer des données qui se trouventdans un tableau "compteur" colonne Compteur de visite [ par Jay77270 ] Bonjour,Voila je débute dans le script php mysql et j'aimerai vivement intégré un compteur de visite ah mon site j'ai un code php mais en l'executant extraction date [ par papiona ] Bjrje veux extraire la date d'inscription apartir de ma table pour détirminer le jour,mois et l'année de cette date,voila mon codemais ca marche pas$s Petite Question Tablaux SQL & Php [ par rocky42 ] Bonjour a tous jaimerait Crée un boutton Qui Surpime la Ligne Mysql "Ligne Du Tablaux"Voila merci pour vos futur reponceNom</th& Afficher top10 psychostats dans nuked klan [ par therelik ] Bonjour,Voilà tout est dans le titre, j'aimerai afficher le top 10 des joueurs de mon site psychostats sur ma CMS Nuked Klan, j'ai trouvé le code sur se connecter à une base sql [ par matsumato ] bonjour; j'ai essayé de me connecter à ma base de donnée et afficher le champ ename dans ma table employer et j'ai l'erreur suivant : Warning: mysql_ PHP + SQL problème d'affihage [ par wamdeus ] Bonjour tout le monde je suis actuellement en stage et je dois modifier un site internet, cependant en le modifiant j'ai un petit problème d'affichage Requête sur une table dépendant d'une autre requête [ par phil7799 ] Bonjour, j'essaye de faire une requête qui dépend du résultat d'une autre requête mais je n'y parviens pas.Dans une table, "popularite" j'extrais les petit probleme facile à résoudre [ par minibenji ] Bonjour,j'ai confectioné cette petite shoutbox, mais lors de l'affichage des messages, les saut de ligne se transformes en simple espaces... voici u mettre à jour un enregistrement sql [ par rscazone ] Bonjour, J'aimerais mettre à jour un champ en particulier d'un enregistrement dans une table sql. (Le champ en question : "restaurant" dans la table "


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales