Le 01/02/2010 17:35, jcdeval@neuf.fr a écrit :
bonjour
ce bout de code
dans mes_fonctions.php
me permettait d'afficher les visites du jour
/*
| balise #VISITES_JOUR
*/
function visites_du_jour() {
$q = spip_query("SELECT visites FROM spip_visites WHERE date=NOW()");
if ($r = @spip_fetch_array($q))
$g = $r['visites'];
else
$g = 0;
return $g;
}
function balise_VISITES_JOUR($p) {
$p->code = "visites_du_jour()";
$p->interdire_scripts = false;
return $p;
}
depuis mon upgrade en 2.0.10 cela affiche Zéro
merci de votre aide
cordialement
jcdeval antibes
____________________________________________________________________
Désolé je vais être un peu long,
Essaie ça, cela marche en 2.0 et ca complète un peu pour produire un affichage comme ça :
Ce site a reçu 45 visites dont 0 aujourd'hui - Moyenne : 2 visites/jour - Max/24h : 9 visites le 14/01/10
Cela ne vient pas de moi, j'ai trouvé ça quelque part - désolé pour celui qui reconnaitra son code - j'ai oublié de noter ma source dans le code.
Tonton BP
--------------------------------------------------------------------------------------------------
Tu places le modèle site_statistiques.html suivant dans ton répertoire modeles
et appel dans un article par <site|statistiques> bon tu peux mettre le tout dans un squelette.
-----------------------------------------
Contenu de site_statistiques.html :
<:ce_site_a_recu:> #TOTAL_VISITES
<:visite_dont:> #VISITES_JOUR <:aujourdhui:>
- <:moyenne:> : #MOYENNE_VISITES <:visites_jour:>
- <:max_24h:> : #VAL_MAX_VISITES <:visites_le:> [(#JOUR_MAX_VISITES|affdate{'d/m/y'})]
-----------------------------------------------------------------------
Dans mes_fonctions.php :
<?php
// ****************************************************************
// balises de statistiques du site
// #TOTAL_VISITES : Affiche le nombre de visites du site depuis la creation, ou du moins l'activation des statistiques.
// #VISITES_JOUR : Affiche le nombre de visites du jour, ou du moins au moment du calcul du squelette.
// #MOYENNE_VISITES : Affiche la valeur moyenne des visites du site.
// #JOUR_MAX_VISITES : Affiche la date du jour ou le site a reçu le plus grand nombre de visites. Comme il s’agit d’une date, la balise peut recevoir le filtre |affdate{'d/m/y'} (par exemple !).
// #VAL_MAX_VISITES : Affiche le nombre de visite du jour ou le site a reçu le plus grand nombre de visites, ou votre site ...
// #MOYENNE_VISITES : Affiche la valeur moyenne des visites du site
// balise #TOTAL_VISITES
function aff_total_visites() {
$query = "SELECT SUM(visites) AS total_absolu FROM spip_visites";
$result = spip_query($query);
if ($row = spip_fetch_array($result))
{ return $row['total_absolu']; }
else { return "0";}
}
function balise_TOTAL_VISITES($p) {
$p->code = "aff_total_visites()";
$p->statut = 'php';
return $p;
}
// balise #VISITES_JOUR
function visites_du_jour() {
$q = spip_query("SELECT visites FROM spip_visites WHERE date=NOW()");
if ($r = @spip_fetch_array($q))
$g = $r['visites'];
else
$g = 0;
return $g;
}
function balise_VISITES_JOUR($p) {
$p->code = "visites_du_jour()";
$p->interdire_scripts = false;
return $p;
}
// #JOUR_MAX_VISITES & #VAL_MAX_VISITES
function generer_jour_val_max_visites($arg) {
$qv = spip_query("SELECT MAX(visites) as maxvi FROM spip_visites");
$rv = spip_fetch_array($qv);
$valmaxi = $rv['maxvi'];
if($arg=="date") {
$qd = spip_query("SELECT date FROM spip_visites WHERE visites = $valmaxi");
$rd = spip_fetch_array($qd);
$jourmaxi = $rd['date'];
}
if($arg=="date") { $a = $jourmaxi; }
if($arg=="val") { $a = $valmaxi; }
return $a;
}
function balise_JOUR_MAX_VISITES($p) {
$arg="date";
$p->code = "generer_jour_val_max_visites($arg)";
$p->interdire_scripts = false;
return $p;
}
function balise_VAL_MAX_VISITES($p) {
$arg="val";
$p->code = "generer_jour_val_max_visites($arg)";
$p->interdire_scripts = false;
return $p;
}
// #MOYENNE_VISITES
function aff_moyenne_visites() {
$query="SELECT UNIX_TIMESTAMP(date) AS date_unix, visites FROM spip_visites ".
"WHERE 1 AND date > DATE_SUB(NOW(),INTERVAL 420 DAY) ORDER BY date";
$result=spip_query($query);
while ($row = spip_fetch_array($result)) {
$date = $row['date_unix'];
$visites = $row['visites'];
$log[$date] = $visites;
}
if (count($log)>0){
while (list($key, $value) = each($log)) {
$n++;
if ($decal == 30) $decal = 0;
$decal ++;
$tab_moyenne[$decal] = $value;
$total_loc = $total_loc + $value;
reset($tab_moyenne);
$moyenne = 0;
while (list(,$val_tab) = each($tab_moyenne))
$moyenne += $val_tab;
$moyenne = $moyenne / count($tab_moyenne);
}
}
else {
$moyenne =0;
}
return round($moyenne);
}
function balise_MOYENNE_VISITES($p) {
$p->code = "aff_moyenne_visites()";
$p->interdire_scripts = false;
return $p;
}
// fin balises de statistiques du site
// ****************************************************************
?>