Bonjour,
encore une question SQL du même type que la précédente ...
Mes connaissances se limitant à Cisco et Checkpoint, j'ai un peu de mal ...
J'ai insérer le code pour le calcul des visiteurs mais le problème se siture au niveau du bout de code sql:
... SELECT DISTINCT(IP) ....
dans le code
/*nb_visiteurstotal*/ $query = 'SELECT COUNT(DISTINCT(IP)) AS nb_visiteurstotal'; $query.= ' FROM '.PREFIX_TABLE.'history'; $query.=';'; $row = mysql_fetch_array( mysql_query( $query ) ); $row['nb_visiteurstotal']=$row['nb_visiteurstotal']; $vtp->setGlobalVar( $handle, 'nb_visiteurstotal', $row['nb_visiteurstotal'] );
Avec ce code, le compteur visiteur est incrémenté seulement lors de nouvelles adresses IP dans la table.
Je souhaiterais que le nombre de visiteur soit égal à la somme des visteurs displayés sur la page admin - > historique (version 1.3.x bien sur) pour qu'il reflète mieux la réalité.
Si on a une personne se connectant au net derrière un proyx, il y a de fortes chance qu'elle sorte toujours avec la même adresse IP (NAT/Hide). On aura donc toujours 1 visiteur même si cette personne se sera connéctés tous les jours de l'année.
Le but est de limiter la durée temps de "DISTINCT(IP)" à un jour ....
comment faire?
Merci
Qwertz
Dernière modification par qwertz (2005-01-13 09:35:54)
Hors ligne
ce n'est pas "trivial", mais tu peux faire ainsi :
$total = 0; $query = ' SELECT COUNT(DISTINCT(IP)) AS count FROM '.PREFIX_TABLE.'history GROUP BY DATE_FORMAT(FROM_UNIXTIME(date),\'%Y-%m-%d\') ;'; $result = mysql_query($query); while ($row = mysql_fetch_array($result)) { $total+= $row['count']; } $vtp->setGlobalVar( $handle, 'nb_visiteurstotal', $total);
edit : merci Sephi pour les corrections, j'ai reporté tes modifs dans le bout de code original et j'ai supprimé les posts inutiles pour ceux qui se poseront le même problème plus tard :-)
Dernière modification par z0rglub (2005-01-13 22:48:12)
Hors ligne
Bonjour,
L'idée de QUERTZ est excellente, mais voulant inclure le code, je n'arrive pas à avoir le résultat désiré...
En retour j'ai tout simplement :
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /phpwebgal14/admin/stats.php on line 84
Fatal error: Call to a member function setGlobalVar() on a non-object in /phpwebgal14/admin/stats.php on line 88"
La ligne 84 étant :" $result = mysql_query($query); "
la ligne 88 :" $vtp->setGlobalVar( $handle, 'nb_visiteurstotal', $total); "
Ce code a été inclus au fichier /admin/stats.php a hauteur de la ligne 76.
Serait-il possible d'avoir le code complet pour cette fonctionnalité et où l'inclure pour ne pas perturber le reste du code.
ps : mes connaissances en PHP sont très limitées !!, mais j'apprends.
Merci d'avance
Hors ligne
attention, c'est qwertz et non Quertz :-)
version 1.3.x
Dans category.php
après summary:
/*nb_visiteurs*/
$total = 0;
$query = '
SELECT COUNT(DISTINCT(IP)) AS count
FROM '.PREFIX_TABLE.'history
GROUP BY DATE_FORMAT(FROM_UNIXTIME(date),\'%Y-%m-%d\')
;';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result))
{
$total+= $row['count'];
}
$vtp->setGlobalVar( $handle, 'nb_visiteurstotal', $total);
Dans category.vtp
rajouter:
<div class="totalImages">[ {#nb_visiteurstotal} visiteurs]</div>
à l'endroit désiré.
Slts
Hors ligne
super...
je vais essayer de le mettre dans la 1.4 dans la page admin...
crois tu que l'on pourrais ajouter en dessous les noms de log des visiteurs présents et enregistrés, puis le totalde visiteurs présents non enregistrés..?
eric.
Hors ligne
et pour la 1.4, c'est a quelle ligne qui fo rajouter le code
Hors ligne
Bonjour, j'ai installé un compteur aujourd'hui et il s'incremente à chaque changement de page. J'utilise la version 1.4 et c'est vrai que ca serait sympa si quelq'un avait l'info sur l'endroit exact et les lignes de commandes à rajouter pour éviter que une Ip ne soit comptée qu'une fois à vie mais en meme temps quelle ne soit pas comptée 30 fois quand on change de page.
Le code au dessus est il valable pour la 1.4?
Merci de votre réponse.
Hors ligne
ce topic devrai vous aider :
http://forum.phpwebgallery.net/viewtopi … 29&p=4
Hors ligne