champ ++

Eléphant du PHP | 113 Messages

22 août 2006, 16:45

Bonjour, voila je vouderais savoir coment faire pour incrémenté un champ de ma BD avec +1 avec des entier biensure a chaque fois qu'un visiteur click sur un lien bien précis, donc le chmp de ma BD stock le cumul des clik a partir de ce lien MERCI d'avance.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 août 2006, 16:48

il suffit de lancer l'exécution d'une requête du type :
$sql = "UPDATE table_comptage SET compteur = compteur + 1";

Eléphant du PHP | 113 Messages

22 août 2006, 16:52

merci albat mais STP tu peux pas étre plus précis !!!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 août 2006, 16:55

Nan il peut pas.. il est modéro, et les modéro font pas de phrases :p

Enfin cela dit y a pas grand chose à ajouter non plus à sa réponse. Il te faut faire un script qui s'exécute lorsque l'utilisateur aura cliqué sur ton lien (donc en gros ton lien pointe vers ce script qui redirigera là ou il faut ensuite), et qui lancera une requête sql pour mettre ta base à jour :)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 août 2006, 16:55

La page qu'appelle ton lien contient un script lançant l'exécution de cette requête.
Je ne vois pas comment détailler davantage ce principe qui me paraît tout simple.
As-tu un début de code ?

Eléphant du PHP | 113 Messages

22 août 2006, 17:07

j'ai ca mais je sais pas si ca va marché?

faut que le champ de ma table soit en 'INT' ??????
<?
mysql_connect("xxxxx", "xxxxx", "xxxxx");
mysql_select_db("xxx");


$sql = "UPDATE table SET table = champ + 1 where id='x'";  

mysql_close();
?>
Modifié en dernier par knops le 22 août 2006, 17:14, modifié 1 fois.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 août 2006, 17:13

Non !
Tu as confondu table et champ.
Essaie plutôt ça :
$sql = "UPDATE table SET champ  = champ + 1 where id='x'";  

Eléphant du PHP | 113 Messages

22 août 2006, 17:18

j'ai fait ca mais ca marche pas
<?
mysql_connect("x", "xx", "x");
mysql_select_db("xx");

// On ajoute une entrée avec mysql_query
$sql = "UPDATE ma_table SET vote = vote + 1 where id='x'";  

mysql_close();
?>
faut ke le champ vote de ma table soit 'int'?
Modifié en dernier par knops le 22 août 2006, 17:19, modifié 1 fois.

Eléphant du PHP | 332 Messages

22 août 2006, 17:19

Ca ne va pas marcher.

1) est-ce que ta table s'appelle table et ton champ s'appelle champ ? Si oui, change vite les noms. Appelle par exemple ta table "comptage" et le champ "nombre_clic" par exemple.

2) Regarde bien la syntaxe fournie par albat : compteur = compteur +1 et pas un mélange table = champ + 1

3) Tu positionnes une syntaxe SQL dans une variable $sql et ... rien. Il faut utiliser mysql_query pour exécuter cette requête

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 août 2006, 17:28

faut ke le champ vote de ma table soit 'int'?
Oui !
ou tinyint, ou longint, etc.
Il faut que ce soit un type numérique.

Eléphant du PHP | 113 Messages

22 août 2006, 17:37

merci les mec c'était façile pourtant...merci