réccupérer une valeur dans une base de donnée et la modifier

Eléphanteau du PHP | 14 Messages

12 mai 2006, 16:56

bonjour,
J'ai un petit probleme:
J'essaye de réccupérer une valeur d'une donnée enregistrée dans ma base de donnée, et ensuite j'aimerais faire cette valeur+1 et remplacer l'ancienne valeur. J'ai essayé différentes manières, mais sans succès :cry:

donc je me connecte a ma base, puis je réccupère la donnée que je veux.

$query = "SELECT bonus FROM members WHERE login='id_res'";
$request = mysql_query ($query) or die ("La requête a échoué");

j'ai essayé de faire $request++;

puis
mysql_query("UPDATE members SET bonus='$request' WHERE login='$id_res' ");

mais quand j'affiche la valeur de $request ca me donne ca :Resource id #4

Je suppose qu'il me manque quelque chose entre mon $request=mysql_querry et mon $request++; mais je ne sais pas quoi.

Si quelqu'un pouvait m'aider ce serra bien sympa :D

MERCI

Mammouth du PHP | 19672 Messages

12 mai 2006, 17:22

Absolument, il en manque un bout : mysql_query exécute la requête et retourne une ressource, pas des données: il faut donc utiliser par exemple:
while(($ligne = mysql_fetch_array($request)) != false)
{
    $valeur = $ligne['bonus'];
    $valeur++;
}
Par exemple.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 14 Messages

12 mai 2006, 19:15

tout d'abord merci de m'aider :D

J'ai repris ton code, mais apparament rien n'est enregistrer dans $valeur ,
j'ai un vide. :cry:

Eléphanteau du PHP | 28 Messages

12 mai 2006, 19:25

Il me semble qu'avec UPDATE tu as une synthaxe du genre (quelqu'un de meilleur me corrigera au besoin) :

Code : Tout sélectionner

UPDATE table SET champ='champ+1' WHERE ....
ça peut te servir si tu n'as pas besoin d'afficher la valeur

Eléphanteau du PHP | 14 Messages

12 mai 2006, 20:02

Il me semble qu'avec UPDATE tu as une synthaxe du genre (quelqu'un de meilleur me corrigera au besoin) :

Code : Tout sélectionner

UPDATE table SET champ='champ+1' WHERE ....
si j'employe le code comme ca, il mettre champ+1 comme valeur.
Dois je faire comme ca SET champ="$champ+1" .. mais alors comment dois je faire pour enregistrer la valeur présente dans ma base, dans la variable champ ?

Eléphanteau du PHP | 14 Messages

12 mai 2006, 22:14

voila la formule magique qu'il me fallait finalement :

mysql_query('UPDATE `table` SET `champ`=`cham`+1 WHERE...

merci pour votre aide :D