Modifier la valeur numérique d'un champs de table (mysql)

Eléphant du PHP | 112 Messages

11 janv. 2007, 18:44

Bonjour

Bon rassurez vous sa sera court (pas comme d'habitude)

Savez-vous seulement comment additionner la valeur d'un nombre insrit dans une table ?

Exemple :

nom | points
_____|_____
toto | 1

Comment additionner par exemple 500 à 1 dans la table, j'ai eu une illumination mais je ne sais pas si il y a plus simple...

afficher la valeur du champs, l'additionner, modifier le champs de la table ayant pour numero_client $numero_client

bon lidée est vague mais j'essay de faire de mon mieu... merci
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

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

11 janv. 2007, 18:46

Tu peux faire cela directement dans ton update sans avoir à faire de select, de calcul et d'update :)

Code : Tout sélectionner

UPDATE maTable SET monChamp = monChamp + 123 WHERE ...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 112 Messages

11 janv. 2007, 19:03

De ce façon ? :
$sql = UPDATE user 
SET points = points + 123 
WHERE numero_client="'.$numero_client.'"';
c'est bon ?

Pour trouver où numero_client est égal à $numero_client .... Est-ce bon ?
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 445 Messages

11 janv. 2007, 19:06

...

C'est une requête SQL, n'oublie pas que c'est une chaine de caractère qu'il te faut. Si tu mets ca, je pense que tu obtiendras un beau message d'erreur.
$sql = "UPDATE user 
SET points = points + 123 
WHERE numero_client=".$numero_client;
Mais oui, c'est comme cela qu'il faut procéder ;)

Edit : Dernière chose... Tu as encore de gros problèmes apparemment au niveau de la concaténation... Il va vraiment falloir que tu fasses quelque chose pour apprendre, ça te seras vraiment utile (on ne dit pas ça pour se moquer, ni même pour t'embêter, juste que ça semble indispensable)
Modifié en dernier par Ultim4T0m le 11 janv. 2007, 19:08, modifié 2 fois.
LLDC
Ulti

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

11 janv. 2007, 19:07

En dehors du fait qu'il te manque une apostrophe au début de ta chaine, ouep, c'est bon :)

Ceci dit, utilise plutôt des apostrophes pour délimiter les chaines dans ton sql plutôt que les guillemets :
$sql = "UPDATE user  
SET points = points + 123  
WHERE numero_client='".$numero_client."'";
MySQL tolère les guillemets, mais ce n'est pas pour autant que c'est correct, et vaut mieux perdre cette habitude assez tôt car aucun autre SGBD n'en voudra :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 112 Messages

11 janv. 2007, 21:37

Merci j'ai un message d'erreur mais sa fonctionne quand même, comment faire pour supprimer le message ?

Situation :

Il y a une page avant (page1), qui redirige vers celle-ci (page2) elle met la variable $numero_client en session.

Le code de la page 2 :
<?php
session_start();
$numero_client = $_SESSION['numero_client'];
{ 
$db = mysql_connect('sql.free.fr', 'info.aqua', '***')  or die('Erreur de connexion '.mysql_error()); 
mysql_select_db('info.aqua',$db)  or die('Erreur de selection '.mysql_error()); 
$sql = "UPDATE user SET points = points + 120 WHERE numero_client='".$numero_client."'";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
mysql_close();
} 
?>
message d'erreur :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/112/sdb/0/2/info.aqua/444bcb3a3fcf8389296c49467f27e1d6.php:6) in /mnt/112/sdb/0/2/info.aqua/444bcb3a3fcf8389296c49467f27e1d6.php on line 521
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 janv. 2007, 21:56


/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 112 Messages

11 janv. 2007, 22:13

Si mais il y avait pas les même mot dans le message d'erreur...

Merci, je suis aller sur un sujet, et l'erreur provennait du html, du html avant le php ma créer cette erreur, donc je ne suis encore jamais tmbé sur cette erreur mais un autre qui se ressemble. Merci, ce sujet est résolu


D'ailleur j'y pense il n'existe pas un livre qui ne parle SEULEMENT d'erreur PHP débutant ?

Ou même un site, article... bref un texte... merci
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Mammouth du PHP | 1885 Messages

11 janv. 2007, 23:43

La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphant du PHP | 445 Messages

12 janv. 2007, 00:12

Ca fait la combientième fois que quelqu'un te propose un lien vers www.phpdebutant.org ? :roll:
LLDC
Ulti

Mammouth du PHP | 1885 Messages

12 janv. 2007, 00:37

Je vais imprimer la page de ce site et faire relier le tout.
Peut-être qu'il veut absolument un livre.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

ViPHP
ViPHP | 1961 Messages

12 janv. 2007, 00:45

Ca fait la combientième fois que quelqu'un te propose un lien vers www.phpdebutant.org ? :roll:
Ton nom et ton prénom, tu sais l'écrire sans aucune erreur, tu le connais par coeur,
tu devrais faire la même chose avec le contenu de ce site, ça t'éviterait pas mal de soucis.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein