{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 -
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
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:
- {MySQL} Problème php/mysql
- Mysql community server - Télécharger - Bases de données
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Could not connect to mysql! please check your database settings! - Forum Redhat
- Mysql error 1 ✓ - Forum Réseaux sociaux
8 réponses
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']."'";
Si c'est dans le cas "maj", c'est tout simplement
$sql = "UPDATE articles SET qte = qte + '".$_POST['qte']."'
WHERE id_article = '".$_REQUEST['id']."'";
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
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
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']."'";
$sql = "UPDATE articles SET qte = qte + ".$_POST['qte']." WHERE id_article = '".$_REQUEST['id']."'";
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......
Le champ de ma table est de type int valeur 10.
??? Mystère......
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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']
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
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
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 !
$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 !
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
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