Compteur du nombre de visite sur chaque page (enregistrees dans BDD)
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 2014
-
5 oct. 2009 à 17:50
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 2014
-
12 oct. 2009 à 10:37
Bonjour,
J'ai un site php, il y a un traceur sur chacune de mes pages, qui sont enregistrées dans ma BDD à la seconde près; avec le nom de la page associée, et je voudrais faire un pitit programme vite fait qui me compterais le nom de fois où un visiteur est allé sur la page en tout. (pour le tri /jour ou /mois je me débrouille j'ai déjà tout fait)
en gros j'ai ma colonne des pages vues, et ma colonnes des adresse IP qui ont vues ces pages, et je ne sais pas comment adapter ma requete SQL pour faire un ptit compteur de visite par page
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 5 oct. 2009 à 20:13
Salut,
Tout simplement avec un truc comme ça, non ?
$sql = "SELECT COUNT(*) FROM taTable
WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND
page = '".$page."'";
... à savoir que c'est à mon avis une mauvaise idée de se baser uniquement sur l'ip, car tout le monde n'est pas en IP fixe. Au pire, si il n'y a pas de système d'authentification, utilise un couple cookie / IP.
Par ailleurs il serait préférable d'avoir une table qui regroupe, par exemple, le nombre de visites par jour/IP (ou semaine) Sans cela ça risque d'être rapidement très lourd pour une plus value souvent nulle.
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 20144 12 oct. 2009 à 09:56
Hello !
Arf bah disons que j'imaginais un truc où il n'y a pas de code en dur.
Bah oui la requete c'est à peu près ça, mais ce que je me demandais c'est comme avoir $âge dynamiquement
Car dans ton exemple je suis obligé de rentré $page manuellement si ne je ne me trompe pas.
Et merci pour la remarque sur la BDD, je songerais peut etre effectivement à la modifier complètement plus tard, mais pour le moment je dois faire avec ce que j'ai :(
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 20144 12 oct. 2009 à 10:34
en fait, j'aimerais placer ceci, mais ça ne marche pas :
$sql = "select PAGE from journaux where TIMESTAMP >= '".$datemini."' AND TIMESTAMP < '".$datemaxi."' ";
$sql.= "AND IPV4 NOT LIKE '192.168.100%' AND FQDN NOT LIKE '%societe0%' AND FQDN NOT LIKE '%societe1%' order by PAGE LIMIT1";
ça me mets :
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers 'LIMIT1'., SQL state 37000 in SQLExecDirect in C:\Programmes\wampserver2.0c\page.php on line 216
alors que quand je mets
$sql = "select PAGE from journaux LIMIT1";
ça ne râle pas !
D'où vient mon pb ?
Je voudrais prendre toutes les pages visitées de talle date à telle date si l'IP et le FQDN ne provient de de chez nous.
Je rajoute limit 1 pour qu'il ne prenne qu'une fois chacune des pages enrengistrées. (tu me dis si je me trompe...)
Et ensuite je n'ai plus qu'à faire une autre requete dans cette requete pour compter le nombre de fois où cette page apparait. (je verrais bien quand j'en erais là lol)
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 20144 12 oct. 2009 à 10:37
ma premiere requete n'est pas compelte désolé :
$sql = "select PAGE from journaux where TIMESTAMP >= '".$datemini."' AND TIMESTAMP < '".$datemaxi."' ";
$sql.= "AND IPV4 NOT LIKE '192.168.100%' AND FQDN NOT LIKE '%carri%' AND FQDN NOT LIKE '%digitechnic%' order by PAGE LIMIT1";
$res = odbc_exec($connect,$sql);
while (odbc_fetch_row($res))
{
$page = odbc_result( $res, "PAGE" );
echo "PAGE : ".$page."
";
}