Requête + soustraction UPDATE
Résolu/Fermé
baldwim
Messages postés
16
Date d'inscription
vendredi 16 décembre 2011
Statut
Membre
Dernière intervention
14 octobre 2012
-
20 déc. 2011 à 09:50
baldwim Messages postés 16 Date d'inscription vendredi 16 décembre 2011 Statut Membre Dernière intervention 14 octobre 2012 - 22 déc. 2011 à 16:24
baldwim Messages postés 16 Date d'inscription vendredi 16 décembre 2011 Statut Membre Dernière intervention 14 octobre 2012 - 22 déc. 2011 à 16:24
A voir également:
- Soustraction mysql
- Mysql download - Télécharger - Bases de données
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- Le paquet « mysql-server » n'a pas de version susceptible d'être installée ✓ - Forum Debian
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock' (2) ✓ - Forum Linux / Unix
7 réponses
j'ai essayer la méthode de stringman, et j'obtiens toujours 1000
Comme j'avais dit que je m'y attendais...
Pourquoi soupçonnes-tu que ça vient de l'appel de ta deuxième variable, alors que tu écrivais à 2h18 que tu avais bien vérifié qu'il y avait 1000 et 100 ?
Mais tu as raison, cette variable est certainement à 0. Tu t'es peut-être trompé en comptant tes champs, pourquoi n'écris-tu pas $prix = $nombre2['nomduchamp'] ; au lieu de $prix = $nombre2[7] ; ? Ça réduit les causes d'erreur
Affiche VRAIMENT $depart et $prix, tu verras bien
Comme j'avais dit que je m'y attendais...
Pourquoi soupçonnes-tu que ça vient de l'appel de ta deuxième variable, alors que tu écrivais à 2h18 que tu avais bien vérifié qu'il y avait 1000 et 100 ?
Mais tu as raison, cette variable est certainement à 0. Tu t'es peut-être trompé en comptant tes champs, pourquoi n'écris-tu pas $prix = $nombre2['nomduchamp'] ; au lieu de $prix = $nombre2[7] ; ? Ça réduit les causes d'erreur
Affiche VRAIMENT $depart et $prix, tu verras bien
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
20 déc. 2011 à 10:50
20 déc. 2011 à 10:50
Salut,
As tu fais l'affichage de tes requêtes ? as tu ce que tu souhaites ?
Ensuite pourquoi ne pas faire cela en une seule requête ?
As tu un lien entre la table "membre" et la table "heros" ?
As tu fais l'affichage de tes requêtes ? as tu ce que tu souhaites ?
Ensuite pourquoi ne pas faire cela en une seule requête ?
As tu un lien entre la table "membre" et la table "heros" ?
baldwim
Messages postés
16
Date d'inscription
vendredi 16 décembre 2011
Statut
Membre
Dernière intervention
14 octobre 2012
20 déc. 2011 à 18:27
20 déc. 2011 à 18:27
Non car quand je fait :
$depart = $nombre[5] ;
$prix = $nombre2[7] ;
$restant = $depart - $prix ;
j'obtiens 1000 alors que je devrais avoir 900 .
1000-100
$depart = $nombre[5] ;
$prix = $nombre2[7] ;
$restant = $depart - $prix ;
j'obtiens 1000 alors que je devrais avoir 900 .
1000-100
Melooo
Messages postés
1405
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
84
21 déc. 2011 à 08:44
21 déc. 2011 à 08:44
Tu peux répondre aux questions quand même...
$prix te donne 1000 ? et $restant te donne 100 ?
$prix te donne 1000 ? et $restant te donne 100 ?
baldwim
Messages postés
16
Date d'inscription
vendredi 16 décembre 2011
Statut
Membre
Dernière intervention
14 octobre 2012
21 déc. 2011 à 18:18
21 déc. 2011 à 18:18
j'obtiens 1000 alors que je devrais avoir 900 .
ce n'est pas une réponse ?
ce n'est pas une réponse ?
Stringman621
Messages postés
1305
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
1 septembre 2012
337
Modifié par Stringman621 le 21/12/2011 à 18:20
Modifié par Stringman621 le 21/12/2011 à 18:20
Non ce n'est pas la réponse demandé e
Dans ton code fait ça :
et vois si tu as bien tes 1000 et 100.
Le problème peux venir de là
Dans ton code fait ça :
echo $depart; echo $prix;
et vois si tu as bien tes 1000 et 100.
Le problème peux venir de là
baldwim
Messages postés
16
Date d'inscription
vendredi 16 décembre 2011
Statut
Membre
Dernière intervention
14 octobre 2012
22 déc. 2011 à 02:18
22 déc. 2011 à 02:18
Oui j'ai bien les 1000 et les 100 .
:/
:/
Stringman621
Messages postés
1305
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
1 septembre 2012
337
22 déc. 2011 à 09:39
22 déc. 2011 à 09:39
essaie de faire ça :
c'est peut être un problème de conversion de caractère en entier
$restant = intval($depart) - intval($prix)
c'est peut être un problème de conversion de caractère en entier
Bonjour
Tu es en train de nous dire que
J'ai beaucoup, beaucoup de mal à te croire. Peux-tu redonner la fin de ton script avec ses echo et ce qu'il affiche ?
Tu es en train de nous dire que
echo $depart; echo $prix; $restant = $depart - $prix ; $query3= "UPDATE membre SET gold='$restant' WHERE login='$_SESSION[login]'"; $result3 = mysql_query($query3); echo $restant ;ça t'affiche 10001001000 ?
J'ai beaucoup, beaucoup de mal à te croire. Peux-tu redonner la fin de ton script avec ses echo et ce qu'il affiche ?
baldwim
Messages postés
16
Date d'inscription
vendredi 16 décembre 2011
Statut
Membre
Dernière intervention
14 octobre 2012
22 déc. 2011 à 15:04
22 déc. 2011 à 15:04
<? session_start(); $base = mysql_connect ('sql3.cluster1.easy-hebergement.net', 'payetontezhl2', 'nimes00'); mysql_select_db ('payetontezhl2', $base); $query = "SELECT * FROM membre WHERE login='$_SESSION[login]'"; $result = mysql_query($query); $nombre = mysql_fetch_array($result); $query2 = 'SELECT * FROM heros where id="'.mysql_escape_string($_GET['id']).'"'; $result2 = mysql_query($query2); $nombre2 = mysql_fetch_array($result2); $depart = $nombre[5] ; $prix = $nombre2[7] ; $restant = $depart - $prix ; $query3= "UPDATE membre SET gold='$restant' WHERE login='$_SESSION[login]'"; $result3 = mysql_query($query3); echo $restant ; ?>
Non ça m'affiche 1000 et pas le calcul de $depart - $ prix
c'est pas difficile a comprendre si on prend le temps de lire correctement le post de départ.
1000 - 100 j'obtiens toujours 1000.
Lorsque je demande echo $restant ; pour savoir le résultat j'obtiens le nombre 1000 alors que je devrais avoir 900. C'est pas compliqué c'est une simple soustraction mais je n'arrive pas à la faire.
Stringman621
Messages postés
1305
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
1 septembre 2012
337
22 déc. 2011 à 15:12
22 déc. 2011 à 15:12
Comme je t'expliquais au dessus, c'est peut être les résultats qui sont considérés comme des caractère, donc essaie ça :
$restant = intval($depart) - intval($prix) echo $restant;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est pas difficile à comprendre...
Je te demandais le code avec echo $depart et echo $prix car je suis prêt à parier que ces valeurs ne sont pas celles que tu crois.
Je sais bien que tu n'obtiens pas le résultat voulu, mais je suis persuadé que c'est parce que les données ne sont pas celles que tu crois.
-> Stringman621 : je ne crois pas que le problème vienne du fait que les résultats soient considérés comme des caractères, car il suffit de faire echo "1000" - "100"; pour voir s'afficher 900
Je te demandais le code avec echo $depart et echo $prix car je suis prêt à parier que ces valeurs ne sont pas celles que tu crois.
Je sais bien que tu n'obtiens pas le résultat voulu, mais je suis persuadé que c'est parce que les données ne sont pas celles que tu crois.
-> Stringman621 : je ne crois pas que le problème vienne du fait que les résultats soient considérés comme des caractères, car il suffit de faire echo "1000" - "100"; pour voir s'afficher 900
baldwim
Messages postés
16
Date d'inscription
vendredi 16 décembre 2011
Statut
Membre
Dernière intervention
14 octobre 2012
22 déc. 2011 à 15:42
22 déc. 2011 à 15:42
Alors j'ai essayer la méthode de stringman, et j'obtiens toujours 1000 ... je crois que mon problème viens de l'appel de ma deuxième variable.
Le problème doit venir de ici :/
$query2 = 'SELECT * FROM heros where id="'.mysql_escape_string($_GET['id']).'"'; $result2 = mysql_query($query2); $nombre2 = mysql_fetch_array($result2); $prix = $nombre2[7] ;
Le problème doit venir de ici :/
baldwim
Messages postés
16
Date d'inscription
vendredi 16 décembre 2011
Statut
Membre
Dernière intervention
14 octobre 2012
22 déc. 2011 à 16:24
22 déc. 2011 à 16:24
J'ai enfin résolu mon problème ....
Je vous explique dans ma Page Verif.php je demandais la variable PRIX et la variable TOTALDUCOMPTE. Cependant il ne me trouvais pas Prix car je demandais un GET qui n'existait pas étant donné que mon formulaire sur la page d'avant était un POST.
J'ai donc rajouter un imput dans mon formulaire page d'avant pour récupérer le prix de l'objet en questions. Rajouter $hero = $_POST['hero']; en haut de ma page pour faire passer la requête.
Et enfin tout marche ! je vous remercie tous et désolé si j'ai mal posté ma question.
amicalement
Baldwim
Je vous explique dans ma Page Verif.php je demandais la variable PRIX et la variable TOTALDUCOMPTE. Cependant il ne me trouvais pas Prix car je demandais un GET qui n'existait pas étant donné que mon formulaire sur la page d'avant était un POST.
J'ai donc rajouter un imput dans mon formulaire page d'avant pour récupérer le prix de l'objet en questions. Rajouter $hero = $_POST['hero']; en haut de ma page pour faire passer la requête.
Et enfin tout marche ! je vous remercie tous et désolé si j'ai mal posté ma question.
amicalement
Baldwim