IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] Gerer les dates et archives avec php


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Points : 14
    Points
    14
    Par défaut [Conception] Gerer les dates et archives avec php
    Bonjour,

    Je me développe un petit script de stats de robots en php , pour gerer les visites des principaux robots, je procède comme cela :

    Si le user-agent commence par 66.249., alors c'est un robot google , je fait une nouvelle entrée dans la table avec :

    -- id_bot
    -- bot_user_agent
    -- bot_name
    -- bot_url
    -- bot_date (date)
    -- bot_heure (heure)

    Voila je voudrais repartir a zero chaque mois , comment archiver pour que les données soit encore consultables ?

    Comment trier avec selon le mois ? ( Faire une entrée MOIS ? )

    Merci de m'eclairer , j'espere avoir été clair , c'est mon deuxieme message !

    Cordialement Ronan

    PS : si vous avez des conseils

  2. #2
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    salut,

    ou stocke tu tezs information sur les bot ?

    dans un fichier une base de données ??
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Je pense une base SQL

  4. #4
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    salut

    Dans ce cas je ne comprends pas trop tes difficultés,

    1 solution:
    tu peux implementer un systeme de calendrier et ajouter a ta clause where de ta requete un select sur ton champs date qui dans php est toujour le mois en cour du calendrier ou les 30 derniers jours...

    2 solution:
    tu peux créer une table visite_archive et dans ce cas il te faut une routine soit un script php declencher sur une date soit une procedure stockée sur ta base ( ca depent des possibilité de tonn sgbd.

    3solution : la plus economique en memoire, tu peux lorsque le mois est passé ecrire dans un fichier le contenu de ta table, et le recharger juste a la demande, je ne sais plus la syntaxe exacte mais il existe aussi une fonction php pour charger une table de bd a partir d'un fichier...


    WD
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup

    Deuxieme petite question , je sais que google a des ip commencant par 66.249

    Comment tester si une ip commence par 66.249 ?

    Merci d'avance , Ronan

  6. #6
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    je n'ai jamais travaillé sur cette problematique des robot mais la question vaut pour toute recherche de sous chaine dans une chaine.

    si tu recupere un string contenant l'IP dans une variable $ipbot par ex

    tu peux faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $identip = substring ($ipbot, 0,6);
    avec cela tu lui dit de prendre le contenu de $ipbot à partir du caractère 0 sur une longeur de 6 caractères et de mettre ce resultat dans $identip.

    apres tu test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ($identip == "66.249"){
          $botname = 'google';
    }
    etc ...

    WD

    sinon sait tu qu'il existe de tres bon outils libres a integrer dans ton site et qui font le travail de statistique pour toi, la plupart des libre propose leur code source, tu peux l'utiliser tel quel ou le modifier si tu t'en sens capable pour l'adapter exactement a tes besoins... pourquoi réinventer la roue ?
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Je m'entraine au php , moi j'ai fait comme ca


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //ip google
    $google1 = "66.249";
     
    if (preg_match("/$google1/", "$ip")) 
    {
    $google = true;
    } 
    else 
    {
    $google = "false";
    }
    Ca marche niquel

  8. #8
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    oui bien sur ca marche aussi, bravo !

    tu utilise une autre des nombreuses fonctions de manipulation de chaines de caracteres qui sont tous tres puissante et nombreuse.

    mais juste comme cela comme tu debutes, prends tout de suite les bonne habitude avec la gestion de ta memoire

    quand tu fais un preg_match() l'interpreteur recherche le motif en parametre 1 dans le string en parametre deux mais ca veut dire aussi que si ton string est tres long il va aller jusqu'au bourt de la chaine pour trover le motif meme s'il est au debut de celle ci..

    avec substring, il va aller au point indiquer en param deux et sur la longueur en param 3, ce qui est plus rapide et coute moins de memoire...

    utilise plutot match() si tu ne connais pas la forme de ta chaine ce qui n'est pas ton cas, tu sais que c'est une ip et comment une adresse ip est normalisé, bien sur dans l'absolu t'est chaine sont courte et tu ne verra sans doute pas de différence, mais quand meme...

    travaillons intelligement ne coutes pas plus cher !

    WD

    ps/ edit : SI TU ES CONTENT? FRAPPES DANS TES MAINS !!!
    ET MET TON POST RESOLU ENSUITE !!!
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.2] Eviter que les e-mails envoyés avec php soient bloqués
    Par davidkungfu dans le forum Langage
    Réponses: 3
    Dernier message: 15/10/2010, 00h34
  2. [conception] Gerer les interactions ente objets
    Par bachir006 dans le forum Développement 2D, 3D et Jeux
    Réponses: 11
    Dernier message: 18/12/2009, 16h41
  3. gerer les erreurs de fichiers avec excel en automation
    Par avenger-france dans le forum Excel
    Réponses: 2
    Dernier message: 07/11/2007, 19h39
  4. [Conception]gerer les divisions administratives
    Par Héni Haj dans le forum Modélisation
    Réponses: 4
    Dernier message: 17/04/2007, 20h56
  5. [Librairies] Comment gérer les sous dossiers INBOX avec IMAP
    Par Cr@zyDeep dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 18/05/2006, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo