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

Résolu/Fermé
cinderela Messages postés 52 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008 - 6 sept. 2007 à 12:42
cinderela Messages postés 52 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008 - 11 sept. 2007 à 15:16
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

6 réponses

blux Messages postés 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024 3 300
6 sept. 2007 à 12:47
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 mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008
6 sept. 2007 à 13:29
Salut,

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

à +
0
blux Messages postés 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024 3 300
6 sept. 2007 à 13:58
Et bien justement, tu n'as pas besoin de la mettre entre quote...
0
cinderela Messages postés 52 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008
6 sept. 2007 à 14:15
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 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024 3 300
6 sept. 2007 à 14:28
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 mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008
6 sept. 2007 à 14:52
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 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024 3 300
6 sept. 2007 à 15:01
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 mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008
6 sept. 2007 à 15:06
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 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024 3 300
6 sept. 2007 à 15:13
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 mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008
6 sept. 2007 à 15:22
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 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024 3 300
6 sept. 2007 à 15:27
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 mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008
6 sept. 2007 à 15:41
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 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024 3 300 > cinderela Messages postés 52 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008
6 sept. 2007 à 15:49
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 mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008 > blux Messages postés 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024
6 sept. 2007 à 16:13
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 mardi 31 juillet 2007 Statut Membre Dernière intervention 20 février 2008 > blux Messages postés 26326 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2024
11 sept. 2007 à 15:16
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