Version complète: sur le forum Webmaster Hub : incrémentation de compteur
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Mumulafrite
Bonjour,
je suis en train de faire un petit code qui a chaque ouverture de page m'incrémente une cellule compteur. Le code à l'air d'être bon, les requettes aussi mais cela ne marche pas (arf)

Voici mon code:
CODE
<?
$db=connect_mysql();
$numero=$_GET['id'];
$req="SELECT compteur FROM tutoriaux WHERE  id='".$numero."'";
$res=mysql_query($req);
echo $req;
list($nombre)= mysql_fetch_row($res);
$nombre++;
$req="UPDATE tutoriaux SET compteur = '".$nombre."' LIMIT 1";
echo $req;
close_mysql($db);
?>


L'affichage des deux requetes donne ca:
CITATION
SELECT compteur FROM tutoriaux WHERE id='2'

CITATION
UPDATE tutoriaux SET compteur = '1' LIMIT 1


Il récupere bien la valeur du compteur (0 pour cet exemple) et essaye d'updater la base de +1 ce qui fait bien 1.
Mais cela ne fait rien, si ya quelqu'un pour me filer un coup de pate ce serait bien gentil.

Merci d'avance smile.gif
NorSeb
Bonjour,

C'est probablement ta requète de mise à jour qui ne marche pas... Si le champ compteur est un entier (INT ou autre) je crois que tu ne peux pas ecrire compteur='1' mais compteur=1 (sans les apostrophes).
Kalt
Les apostrophes ne changent rien. Voici ce que je te propose :

CODE
<?
$db=connect_mysql();
$numero=$_GET['id'];
$req="UPDATE tutoriaux SET compteur = compteur + 1 WHERE id = '".$numero."'";
echo $req;
$res=mysql_query($req);
close_mysql($db);
?>
NorSeb
En effet les apostrophes ne changent rien... Mea culpa smile.gif
Kalt
En fait, ton code marcherait aussi si tu exécutais la deuxième requête au lieu de bêtement l'afficher...

Mais ma proposition reste plus courte que ton code.
Mumulafrite
ah merci bien, en effet j'avais oublier de mettre l'insertion.

Alala des fois on peut etre ... IMSTP6.gif

Merci merci
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.