[SQL-PHP]-mettre à jour la nouvelle quantite
Résolu
Bonjour à tous,
J'aimerais faire mise à jour le champ quantite de ma table
J'ai fait
et ça ne marche pas.
quelqu'un peut m'aider?
Merci d'avance,
Cinderela
J'aimerais faire mise à jour le champ quantite de ma table
J'ai fait
$query ="UPDATE tblproduit_stock SET quantite = quantite +'".$quantiterecu."' WHERE produit_ID = '".$produit_id."' AND stock_ID = '".$stock_id."'";
$resultat = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée. L\'erreur retournée est : '.mysql_error());
et ça ne marche pas.
quelqu'un peut m'aider?
Merci d'avance,
Cinderela
Configuration: Windows XP Internet Explorer 6.0
6 réponses
-
ModérateurSalut,
si on écrit la requête telle qu'elle part à sql :UPDATE tblproduit_stock SET quantite = quantite + '5' WHERE produit_ID = ...
Ca fait un peu bizarre, non ?
pourquoi mets-tu $quantiterecu entre simple quote (') ? C'est un numérique, il n'a pas à être 'enquoté'
-
ModérateurEt bien justement, tu n'as pas besoin de la mettre entre quote...
-
ModérateurIl faudrait afficher le texte de ta requête avant de l'envoyer à SQL, je pense qu'on y verrait plus clair...
-
salut,
voilà le code<?php // vérifier les données dans la formulaire foreach ($_POST as $data) { if (empty($data)) { print('<center>Un (ou plusieurs) champs est vide! Veuillez tous les remplir.</center>'); exit(); } } $produit_id = $_POST['produit_id']; $stock_id = $_POST['stock_id']; $quantite = $_POST['quantite']; $remarque = $_POST['remarque']; //vérifier les données dans la base de données $connexion = mysql_connect("localhost", "root", "") or die ("connexion au serveur impossible."); mysql_select_db('gestion_stock', $connexion); $query = "SELECT * FROM tblproduit_stock"; $resultat = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée. L\'erreur retournée est : '.mysql_error()); $a = 0; while($liste = mysql_fetch_row($resultat)){ $quantite = $quantite + $liste[3]; echo $quantite; if($produit_id == $liste[0]){ $query2 ="UPDATE tblproduit_stock SET quantite = quantite +".$quantite." WHERE produit_ID = '".$produit_id."'"; $resultat2 = mysql_query($query) or die ('Erreur. La requête ne peut pas être effectuée. L\'erreur retournée est : '.mysql_error()); $a = 1; } } //enregistrer les données if($a != 1) { $query1 = "INSERT INTO tblproduit_stock VALUES ('$produit_id', '$stock_id', '$quantite', '$remarque')"; echo $query1; $resultat1 = mysql_query($query1) or die(mysql_error()); } ?>
-
-
ModérateurJe voudrais un echo de $query2...
...qui a changé depuis le début (disparition de stock_id...)
-
ModérateurC'est quoi ton 565656 à la fin ?
Le produit_id 600001005 existe-t'il ?
Tu as essayé de taper la requête directement dans ta base pour voir ce qu'il dit ?
-
ModérateurA mon avis, le problème est avec l'ajout de ce 565656 en fin de chaîne, ça en fait une instruction SQL incorrecte...
-
-
Modérateur@cinderelaMettre à jour la quantité d'un produit existant : UPDATE
Ajouter un nouveau produit : INSERT...
Sorti de là, point de salut !
-
@bluxMerci beaucoup quand même pour tes réponse.
Je suis blocqué là... je ne sais pas où se trouve l'erreur -
@bluxSalut, j'ai trouvé l'erreur. en fait c'était dans la formulaire que j'ai manqué une balise. ce n'est pas le code de mise à jour qui posait des problème.
Bon après-midi
cinderela
-