[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

$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

  1. Modérateur
    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é'
    1. Salut,

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

      à +
  2. Modérateur
    Et bien justement, tu n'as pas besoin de la mettre entre quote...
    1. 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.

      à +
  3. Modérateur
    Il faudrait afficher le texte de ta requête avant de l'envoyer à SQL, je pense qu'on y verrait plus clair...
    1. 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());
      }
      
      ?>
      
      
  4. Modérateur
    Je voudrais un echo de $query2...
    ...qui a changé depuis le début (disparition de stock_id...)
    1. 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
      


      à+
  5. Modérateur
    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 ?
    1. 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.
  6. Modérateur
    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...
    1. 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
    2. Modérateur
      @cinderelaMettre à jour la quantité d'un produit existant : UPDATE
      Ajouter un nouveau produit : INSERT...

      Sorti de là, point de salut !
    3. @bluxMerci beaucoup quand même pour tes réponse.
      Je suis blocqué là... je ne sais pas où se trouve l'erreur
    4. @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