{MySQL} Problème php/mysql

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

Je suis en train de créer un formulaire pour ajouter une entrée de stock. J'ai donc une table contenant tous mes articles et je voudrais pouvoir ajouter la quantité renseigner dans mon formulaire à la quantité déjà présente dans la base.... Mais je ne trouve pas le moyen d'y arriver.
J'espère que quelqu'un pourra m'aider à y arriver.

Moici mon code actuel pour l'update du produit:

<?php

include ("variables.inc.php");
include ("identification.inc.php");

$liendb = mysql_connect ("localhost", "", "");
mysql_select_db ("");

if ($_REQUEST['action']=="maj")
{

$sql = "UPDATE articles SET qte = '".$_POST['qte']."'
WHERE id_article = '".$_REQUEST['id']."'";

mysql_query ($sql) or die (mysql_error());
header("Location: liste_article.php");
}
elseif ($_REQUEST['action']=="suppr" && $_REQUEST['id']>=1)
{
$sql = "DELETE FROM articles WHERE id_article='".$_REQUEST['id']."'";
mysql_query ($sql);
header("Location: liste_article.php");
}

include("haut.inc.php");

echo "<p align=left> Article n°    [".$_REQUEST['id']."]</p>";

$sql = "SELECT * FROM articles WHERE id_article='".$_REQUEST['id']."'";
$resultat = mysql_query ($sql);
$machines = mysql_fetch_array ($resultat)

?>
<form action="articles3.php" method="post">
<input type="hidden" name="enregistre" value="oui" />
<input type="hidden" name="id" value="<?php echo $_REQUEST['id']; ?>" />

<table width="600" >
<tr>
<td valign="top">Désignation</td>
<td><textarea name="nom" rows="1" cols="90"><?php echo $machines['designation']; ?></textarea></td>
</tr>
<tr>
<td>Quantité d'article ajouter</td>
<td><input type="text" name="qte" /></td>
</tr>
<tr>
<td>Seuil de commande</td>
<td><input type="text" name="seuil" value="<?php echo $machines['seuil']; ?>" /></td>
</tr>
<tr>
<td>Prix</td>
<td><input type="text" name="prix" value="<?php echo $machines['prix']; ?> €" /></td>
</tr>

</table>

<br/>

<select name="action">
<option value="maj"> Enregistrer la fiche </option>
<option value="suppr"> Supprimer la fiche </option>
</select>
<input type="submit" value="effectuer">


</form>
</div>
</body>
</html>

<?php

mysql_close ($liendb);

?>

Merci d'avance pour votre aide
A voir également:

8 réponses

le père
 
Bonjour

Si c'est dans le cas "maj", c'est tout simplement
$sql = "UPDATE articles SET qte = qte + '".$_POST['qte']."'
WHERE id_article = '".$_REQUEST['id']."'";
0
killersources Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai essayé comme ça mais la valeur introduite remplace quand même la valeur de la base au lieu de faire la mise à jour...

Je vois pas pourquoi. Y a t-il un type de champ particulier à mettre dans la table pour que ça fonctionne?
Je suis perdu...

Merci pour ton aide
0
le père
 
Qte est un champ numérique (je suppose ! ) , ce sont sans doute les apostrophes qui empêchent l'addition :
$sql = "UPDATE articles SET qte = qte + ".$_POST['qte']." WHERE id_article = '".$_REQUEST['id']."'";
0
killersources Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Non sans les apostrophes ça change rien au problème. Il remplace toujours la valeur.

Le champ de ma table est de type int valeur 10.

??? Mystère......
0

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

Posez votre question
le père
 
fais un echo htmlentities($sql); pour t'assurer que la requête est bien ce que tu crois. Il y a peut-être un problème avec $_POST['qte'] ou $_REQUEST['id']
0
killersources Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse.

Le seul problème c'est que je suis super debutant et que j'ai placé echo htmlentities($sql); un peu partout sans rien voir de spécial mais sans savoir aussi ce que je dois faire ou voir.

Donc si tu te sents le courage de m'expliquer ça serait super sympa sinon pas de problème. C'est déjà très gentil de ta part d'avoir pris de ton temps pour m'aider.

J'espère te lire rapidement et encore merci
0
jeremieca Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   28
 
Oui, juste après ça :

$sql = "UPDATE articles SET qte = qte + ".$_POST['qte']." WHERE id_article = '".$_REQUEST['id']."'";

Tu met echo $sql; et tu nous affiche le résultat :)

A plus !
0
killersources Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour à tous,

J'ai trouvé mon erreur à savoir je renvoyait la méthode post vers mon fichier qui fait l'update de l'article normal donc ça marchait pas.

$sql = "UPDATE articles SET qte = qte + ".$_POST['qte']." WHERE id_article = '".$_REQUEST['id']."'";

Cette fonction fonctionne donc très bien.

Encore merci à tous pour votre aide
0