Se connecter avec
S'enregistrer | Connectez-vous

[résolu] php/mysql : incrémentation double de mon compteur Oo

Dernière réponse : dans Programmation

Salut à tous,
je ne comprend pas pourquoi ce petit bout de code php est constemment appelé en double (j'ai même vérifié dans les logs de phpmyadmin)

Ce morceau de code est censé incrémenté un compteur dans a bdd de 1 et il le fait de 2 en 2 (sauf la première fois)
j'ai testé avec une incrémentation par 3 et il fait de 6 en 6...
voici le bout de php :

<?php
$host = "localhost";
$user = "login";
$passwd = "mdp";
$bdd = "gryphus71";
$connection = mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
$resultat = mysql_result( mysql_query("SELECT nombre FROM compteurs WHERE type='visualisations'"), 0);
$resultat=$resultat+3;
print("<tr>Nombre de <b>visiteurs</b> venus sur cette page : $resultat</tr>");
mysql_query("UPDATE compteurs SET nombre=$resultat WHERE type='visualisations'");
mysql_close($connection);
?>

voyez vous une erreur ? ou comment y remédier ?
Lassé par la pub ? Créez un compte

Laissez tomber, j'ai planché sur un soucis identique sur un code plus ou moins à moi... c'est un effet de bord idiot :) 

J'avais le gag sur une page où je devais compter les hits... si je ne mettais pas la requète à la fin de la source, j'incrémentais de 2 et non de 1, tout simplement parce que la connexion était en mode persistant.
Et même en refermant la connexion après l'update, en resetant tout, rien à faire... il semblerait que ce soit une latence sur le serveur MySQL qui fait ça (process trop rapide???)

PERDU :)  !!!
j'ai trouvé ! et c'est une erreur à la c**....merci quand même à coca25 qui m'a mis sur la piste ! ;) 

j'avais un problème dans le code html
en gros l'architecture était :

<body>
<table>
<?php
...print("<td>...</td>");
?>
<tr>...</tr>
</table>
</body>

au temps pour moi... je n'avais pas vu que tu avais dit que le code était appelé 2 fois, j'étais resté sur une incrémentation double :) 

@arod: je bossais avec des connexions "abstraites", une connexion ne servait qu'à l'update... donc elle était bien closed immédiatemment. J'avoue avoir laisser tomber, biscotte oeuf contraintes de temps.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde