Record d'IP par mois
Résolu/Fermé
A voir également:
- Record d'IP par mois
- Ethernet n'a pas de configuration ip valide - Guide
- Comment connaître son adresse ip - Guide
- Ip local - Guide
- Comment savoir si quelqu'un utilise mon adresse ip - Guide
- Localiser adresse ip gratuit - Guide
2 réponses
Panoramix.
Messages postés
2655
Date d'inscription
mardi 13 avril 2010
Statut
Membre
Dernière intervention
28 décembre 2016
1 096
4 févr. 2013 à 14:57
4 févr. 2013 à 14:57
Salut,
Premièrement, ta table est mal conçue ; pourquoi mettre un champs "mois en lettre" et un champs "mois en chiffre" ? Un simple champs mois suffit.
Ensuite, enregistrer les visites par mois constitue une perte d'informations. Comment tu fais après si tu veux faire des statistiques par jours ?
En résumé, tu crées une table avec les champs :
--> ID (numérique, PK, auto inc.)
--> DateJour (date, UK, non null)
--> NB_Visites (numérique, default 0)
Dans ton script (PHP je suppose ?), tu fais un test pour voir si le jour actuel est présent dans la base de données. Si c'est le cas, tu incrémentes le champs NB_Visites, le cas échéant, tu crées le jour et tu incrémentes NB_Visites.
Pour l'affichage, c'est un simple SELECT de NB_Visites avec une fonction de conversion sur DateJour pour tirer le mois/jour/année.
Après, tu peux améliorer le système avec une gestion des IP (par exemples pour logguer les adresses IP). Dans ce cas, je partirais plutôt sur la structure suivante :
--> ID (numérique, PK, auto inc.)
--> DateJour (date, non null)
--> AdresseIP (varchar, non null)
Chaque IP connectée est enregistrée dans la BDD avec sa date. Après, si tu aimerais qu'une IP ne puisse être enregistrées qu'une seule fois par jour, il faut mettre un index multichamps unique sur DateJour et AdresseIP.
Pour l'affichage, c'est un SELECT COUNT avec une fonction de conversions et un petit test pour tirer tirer le mois/jour/année.
Premièrement, ta table est mal conçue ; pourquoi mettre un champs "mois en lettre" et un champs "mois en chiffre" ? Un simple champs mois suffit.
Ensuite, enregistrer les visites par mois constitue une perte d'informations. Comment tu fais après si tu veux faire des statistiques par jours ?
En résumé, tu crées une table avec les champs :
--> ID (numérique, PK, auto inc.)
--> DateJour (date, UK, non null)
--> NB_Visites (numérique, default 0)
Dans ton script (PHP je suppose ?), tu fais un test pour voir si le jour actuel est présent dans la base de données. Si c'est le cas, tu incrémentes le champs NB_Visites, le cas échéant, tu crées le jour et tu incrémentes NB_Visites.
Pour l'affichage, c'est un simple SELECT de NB_Visites avec une fonction de conversion sur DateJour pour tirer le mois/jour/année.
Après, tu peux améliorer le système avec une gestion des IP (par exemples pour logguer les adresses IP). Dans ce cas, je partirais plutôt sur la structure suivante :
--> ID (numérique, PK, auto inc.)
--> DateJour (date, non null)
--> AdresseIP (varchar, non null)
Chaque IP connectée est enregistrée dans la BDD avec sa date. Après, si tu aimerais qu'une IP ne puisse être enregistrées qu'une seule fois par jour, il faut mettre un index multichamps unique sur DateJour et AdresseIP.
Pour l'affichage, c'est un SELECT COUNT avec une fonction de conversions et un petit test pour tirer tirer le mois/jour/année.
Bonjour à tous.
Merci pour ces renseignements, je vais tester les deux options et vous tiens informé du résultat.
Bonne journée.
J.Secret
Merci pour ces renseignements, je vais tester les deux options et vous tiens informé du résultat.
Bonne journée.
J.Secret