Comment ajouter, diminuer un nombre sur SQL

Eléphanteau du PHP | 34 Messages

07 juil. 2011, 11:59

Bonjour,

je suis débutant dans le php (langage que j'adore pour son dynamisme)

J'aimerais savoir les bases pour (+) et (-) un champ numérique dans la SQL via PHP

Par exemple :

je sais qu'ici :
$req= 'UPDATE membre SET record=record+1 WHERE nom="'.$nom.'"';
(on ajoute +1 au champ record)

mais es que pour (-) on peut faire également la même chose en :
$req= 'UPDATE membre SET record=record-1 WHERE nom="'.$nom.'"';
(on enlève 1 au champ record)

et j'aimerais savoir comment faire un test, si jamais on est déjà à 0 et qu'on veut encore enlever encore des chiffres
exemple :
0-1 = erreur (pas bon)
0+1 = bon

Merci par avance.
Victor

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

07 juil. 2011, 12:38

Tu peux effectivement ôter de la même manière que tu ajoutes (suffit de faire le test, c'est vite vu ;))

Quant au contrôle pour savoir si tu peux retirer ta valeur ou non, le plus simple est à mon avis de l'ajouter dans ta condition WHERE :
$req= 'UPDATE membre SET record=record-1 WHERE nom="'.$nom.'" AND record > 0';
Ainsi la requête ne s'appliquera que pour les enregistrement $nom ET dont la valeur de record est supérieure à 0 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 34 Messages

07 juil. 2011, 13:14

Tu peux effectivement ôter de la même manière que tu ajoutes (suffit de faire le test, c'est vite vu ;))

Quant au contrôle pour savoir si tu peux retirer ta valeur ou non, le plus simple est à mon avis de l'ajouter dans ta condition WHERE :
$req= 'UPDATE membre SET record=record-1 WHERE nom="'.$nom.'" AND record > 0';
Ainsi la requête ne s'appliquera que pour les enregistrement $nom ET dont la valeur de record est supérieure à 0 :)
Merci beaucoup.