ifii Posté 18 Janvier 2011 Posté 18 Janvier 2011 Bonjour à tous, J'ai créé un formulaire php dont les données s'enregistre dans ma bdd sql. Dans ce formulaire, je souhaite insérer un calcul dont le total s'enregistre également dans ma bdd. Voici mon code: $insertSQL = sprintf("INSERT INTO ma_table (ID, nombre1, nombre2, nombre3, total) VALUES (%s, %s, %s, %s, %s)", GetSQLValueString($_POST['ID'], "int"), GetSQLValueString(isset($_POST['nombre1']) ? "true" : "", "defined","'35.00'","'non'"), GetSQLValueString(isset($_POST['nombre2']) ? "true" : "", "defined","'30.00'","'non'"), GetSQLValueString(isset($_POST['nombre3']) ? "true" : "", "defined","'130.00'","'non'"), GetSQLValueString($_POST['total'], "text")); mysql_select_db($database_ConnexionMa_Connexion, $ConnexionMa_Connexion); $Result1 = mysql_query($insertSQL, $ConnexionMa_Connexion) or die(mysql_error()); Voici la partie du code du formulaire pour le total <?php $total=0.00; ?><?php $total+='nombre1' + 'nombre2' + 'nombre3'?><input type="hidden" name="total" id="total" value="<?php echo $total ?>"/> Dans ma table sql, le total reste à "0". Quel est le problème dans mon code? De plus, je souhaite également faire un autre enregistrement dans ma bdd du total automatiquement multiplier par 30%. Comment puis-je procéder? Merci d'avance pour vos réponses!!!
MarvinLeRouge Posté 21 Janvier 2011 Posté 21 Janvier 2011 Salut, Ce que tu dis semble bizarre : les valeurs "total" et "total30Pourcents" sont calculées à partir des données du formulaire, elles n'ont donc rien à y faire, a priori. Le code suivant sera peut-être plus clair. N.B. : Je ne suis pas sûr de la première partie, je suppose que tu souhaites insérer en bdd les valeurs saisies, ou les valeurs par défaut (35.00, 30.00, 130.00) sinon. N.B. 2 : J'ai supposé qu'on parlait bien de valeurs numériques. $nombre1 = 35;$nombre2 = 30;$nombre3 = 130;extract ($_POST);$total = $nombre1 + $nombre2 + $nombre3;$total30Pourcents = .3 * $total;$insertSQL = "INSERT INTO ma_table (ID, nombre1, nombre2, nombre3, total, total30Pourcents) VALUES ($ID, $nombre1, $nombre2, $nombre3, $total, $total30Pourcents)";mysql_select_db($database_ConnexionMa_Connexion, $ConnexionMa_Connexion);$Result1 = mysql_query($insertSQL, $ConnexionMa_Connexion) or die(mysql_error());
kilotoa Posté 23 Janvier 2011 Posté 23 Janvier 2011 Peux-tu vérifier pour commencer que la valeur du total dans ta requete HTTP est correcte? (avec firebug par exemple)
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant