Page 1 sur 1

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

Posté : 11 janv. 2007, 18:44
par France-Webmaster
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

Posté : 11 janv. 2007, 18:46
par Ryle
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 ...

Posté : 11 janv. 2007, 19:03
par France-Webmaster
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 ?

Posté : 11 janv. 2007, 19:06
par Ultim4T0m
...

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)

Posté : 11 janv. 2007, 19:07
par Ryle
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 :)

Posté : 11 janv. 2007, 21:37
par France-Webmaster
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

Posté : 11 janv. 2007, 21:56
par Truc

Posté : 11 janv. 2007, 22:13
par France-Webmaster
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

Posté : 11 janv. 2007, 23:43
par Xenon_54

Posté : 12 janv. 2007, 00:12
par Ultim4T0m
Ca fait la combientième fois que quelqu'un te propose un lien vers www.phpdebutant.org ? :roll:

Posté : 12 janv. 2007, 00:37
par Xenon_54
Je vais imprimer la page de ce site et faire relier le tout.
Peut-être qu'il veut absolument un livre.

Posté : 12 janv. 2007, 00:45
par Ajoloca
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.