Bonjour a tous
Petit problème avec une fonction pour incrémenter un champs sql
Pour faire simple, j'utilise cette fonction dans un script multi site, le but étant de faire des statistiques 'brut' de page vues par domaine. Le problème étant que, la valeur 'stats' n'est pas incrémentée convenablement, c'est à dire que ça ne fait pas un stats = stats + 1 mais un stats + 2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function stat_add($domain){ $sqlreq = "UPDATE `ssdom` SET `stats` = stats + 1 WHERE `domain` = '$domain'"; return mysql_query($sqlreq); }
Après avoir fouiller partout, la fonction n'est bien appelée qu'une seule et unique fois, si je retire cet appel unique de la fonction, le champ ne s'incrémente pas, si je place l'appel de la fonction dans mon template (dans le header.php ou dans le footer.php ne sont include qu'une seule fois) le problème demeure ! Dans le doute, j'ai testé la requête dans phpmyadmin, elle incrémente bien 1 seule fois (donc + 1 et pas + 2)
l'appel de la fontion est placé hors boucle, j'ai même testé ça :
mais rien n'y fait ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (empty($statcompt)){ stat_add($c_site); $statcompt = '1'; }
pour info : serveur dédié (debian etch), php 5.2, mysql 5, le champs stats : INT(11) dans une table en MyISAM en utf8_general_ci
La fonction et l'appel sont placés (temporairement car par propre) dans le header du template (donc appelé 1 seule et unique fois ...)
j'ai beau creuser ... j'en deviens fou !
Merci pour votre aide !
Partager