Incrémentation MYSQL
Salut !
j'ai encore un soucis que je ne comprends vraiment pas ...
UPDATE `forum_sujet` SET visite=visite+1 WHERE `sujet_id`='15'
L'effet attendu serait biensur l'incrémentation de la valeur de visite de 1. Lorsque je vais dans phpmyadmin tout se déroule correctement mais lorsque je l'éxécute via mon script il m'incrément de 2 !!!
J'ai biensur vérifié que je n'éxécutais pas la requete en double et je ne pige vraiment pas le problème...
Merci de votre aide :=)
Tu n'utiliserais pas un 'confirm' en javascript sur un <a href> ?
Ou un truc du genre ?
Si oui, met bien un return false sur ton onclick, sinon, il est executé deux fois.
Si ca n'a rien à voir, montre nous ton code.
euh non pas de confirm ni de js ...
Sinon mon code est plutot long donc ca vaut p/E pas le coup que je le mette en entier si ?!
J'utilise une fonction pour exécuter ma requete, quand je met en commentaire l'appel de ma fonction dans mon code il n'y a plus d'incrémentation donc je ne l'ai pas appelée deux fois.
Sinon voici le code de ma fonction :
function compteur_visite_sujet($id_sujet) {
global $table_forum_sujet;
global $base;
$base->query_execute("UPDATE `".$table_forum_sujet."` SET visite=visite+1 WHERE `sujet_id`='".protege($id_sujet)."'","compteur_visite_sujet()");
}
Mais je ne vois rien de particulier la non plus ...
C'est à ne rien y comprendre, aujourd'hui tout marche correctement ... je n'ai pourtant rien changé ...
le 26/01/2006 à 17:57
Bzh
Atf !!! Les sauts d'humeurs de monsieur le dauphin !!!!
Bah en faite des fois ca marche, des fois non ...
Je pense que c'est plutot une connerie de ma pars qu'un problème du pti dauphin :s
le 30/01/2006 à 21:13
Bzh
Ouaip ! Là ch'ui tt à fait d'accord...
Salut,
Désolé de remettre ca sur le tapis mais bon encore le même soucis ...
Donc mon ancien script qui ne fonctionnait pas bien fonctionne normalement dans aucun changement et ma dernière requete d'incrémentation double aussi l'incrémentation.
Je n'y comprend vraiment plus rien
On ne peut pas pourtant pas se planter sur ca !
mysql_query("UPDATE compteur_forum_sujet SET nb_message=nb_message+1 WHERE id_sujet='".protege($id_sujet)."'") or die (mysql_error());
Qaund je test la requete sur phpmyadmin, tout marche nickel et je suis certain de ne pas exécuter la requete en double !
C'est vraiment C** comme truc, ca me fait mal de buter sur un truc comme ca et pas envie de faire deux requetes pour ca ^^
J'ai essayer de locké le temps de l'update ca change rien ...
Si je met mon champ en FLOAT et que je fais +(0.5)ca marche mais je pige vraiment rien ...
Merci de votre aide :d
Tu as essayé de loguer les requêtes ?
Quelle version de MySQL utilises-tu ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Lu,
Essaie de virer cette requête et execute la page, si ca incrémente, c'est que tu as forcement un doublon quelquepart.
Sinon donne nous le code de ta page, sur le wall. Ou comme dis Lupus, regarde les logs si tu as.
zebdinou pour les intimes / Blog : http://www.zebden.fr