[SQL-PHP]-mettre à jour la nouvelle quantite

Résolu
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   -  
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

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
A voir également:

6 réponses

blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,


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é'
0
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

c'est parce que $quantiterecu est une variable que je récupéré d'une formule.

à +
0
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Et bien justement, tu n'as pas besoin de la mettre entre quote...
0
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

j'ai fait
SET quantite = quantite +".$quantite."
. Est-ce que c'est ça que tu voulais dire? et ça ne marche pas. Il ne rajoute pas la quantité que j'ai rempli dans la formulaire. et il n'a pas indiqué aucun erreur.

à +
0
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Il faudrait afficher le texte de ta requête avant de l'envoyer à SQL, je pense qu'on y verrait plus clair...
0
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
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&ecirc;te ne peut pas &ecirc;tre effectu&eacute;e. L\'erreur retourn&eacute;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&ecirc;te ne peut pas &ecirc;tre effectu&eacute;e. L\'erreur retourn&eacute;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());
}

?>

0
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Je voudrais un echo de $query2...
...qui a changé depuis le début (disparition de stock_id...)
0
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
salut,

si j'ai rempli la formulaire avec 56 alors
voilà echo $query2 donne
UPDATE tblproduit_stock SET quantite = quantite +56 WHERE produit_ID = '60001005'565656






à+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
C'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 ?
0
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
oui, 56 est le nbr que j'ai entré dans la formulaire. 565656 je crois qu'il rajoute à la bd dans le champs de quantite mais je n'ai pas compris pourquoi il affiche ce 565656. et oui le produit_id 60001005 existe.
par contre je n'ai pas encore testé direct à la base.
0
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
A mon avis, le problème est avec l'ajout de ce 565656 en fin de chaîne, ça en fait une instruction SQL incorrecte...
0
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
est-ce que tu as une idée, en fait ce que je voudrais c'est de ajouter la quantité si le produit_id est déjà existait sinon j'insert le la quantité et le produit tel quel. Je ne vois vraiment pas quoi faire ...
je t'en remercie
0
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359 > cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
Mettre à jour la quantité d'un produit existant : UPDATE
Ajouter un nouveau produit : INSERT...

Sorti de là, point de salut !
0
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   > blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention  
 
Merci beaucoup quand même pour tes réponse.
Je suis blocqué là... je ne sais pas où se trouve l'erreur
0
cinderela Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   > blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention  
 
Salut, 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
0