Salut,
je me tourne vers vous car je tourne en rond face à mon écran et je ne trouves pas de solution.
Je vous explique mon soucis.
Ne trouvant pas de programme de gestion de stock qui corresponde à ce que je veux, j'ai mis les mains dans le cambouis (encore une fois ;o))) pour avoir le truc qui me va bien.
Mais voila, je coince...
Je suis en mode test donc c'est un fichier php basique qui sera "décoré"
Voici un visuel
Alors normalement voila comment cela fonctionne
1 - tu rentres un numéro isbn dans la case du haut
2 -
a - l'isbn est connu - cela affiche le titre, l'auteur, etc... dans les case de gauche
b - l'isbn n'est pas connu - cela affiche un petit message qui invites a saisir le produits dans le tableau du bas.
3 - tu es dans le tableau du bas
a- tu rentres les informations et tu valides
b - tu te retrouve dans la situation 2-a , le tableau est rempli avec une quantité de 1
4 - tu souhaites ajouter un produit en stock
a - tu rentre l'isbn dans la case en face de -> ajouter un produit en stock
b - cela rafraichit la page et ajoute un à la quantité du produit visible dans le tableau en haut
5 - tu souhaites enlever un produit du stock
a - tu rentre l'isbn dans la case en face de -> enlever un produit du stock
b - cela rafraichit la page et enleve un à la quantité du produit visible dans le tableau en haut
C'est simple non ?
Alors aujourd'hui fonctionne :
1
2a
3a (le 3 b n'incremente pas la quantité)
Et le 4 et le 5 marche mais mal.
En fait cela fait plus 1 ou moins 1 mais si je cliques denouveau, cela continu (par exemple si je clique sur ajouter, cela fait plus un, mais si je clique ensuite sur enlever, cela fait encore plus 1, cela ne fera moins 1 qu'a la deuxième tentative.
Voici mon code pour faire cela, je sais c'est un peu le foutoire
Code : Tout sélectionner
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title>Gestion de Stock</title>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<!-- header //--><br>
<p align="center"><img src="http://localhost:8888/minilogo.gif" border=0 ><br><br>GESTION DE STOCK<br></p>
<?php
require "connect.php"; // la page connect doit avoir été créée et dans cet exemple être dans le même dossier que la page en cours
// on crée la requête SQL
$sql = "SELECT titre, auteur, editeur, products_quantity, products_price, date_price, isbn FROM products WHERE isbn = '".$_POST['f_isbn']."';";
$res = mysql_query($sql);
// on envoie la requête
while($val = mysql_fetch_array($res)){ // parcours des resultats
$isbn = $val['isbn'];
$titre = $val['titre'];
$auteur = $val['auteur'];
$editeur = $val['editeur'];
$products_price = $val['products_price'];
$date_price = $val['date_price'];
$products_quantity = $val['products_quantity'];
}
?>
<form method="post" action="<?echo $PHP_SELF?>">
<table border="1" width="90%" cellspacing="0" cellpadding="10" align="center">
<tr>
<td width="20%" align="right"> ISBN / EAN 13 : </td>
<td width="30%"><?php echo $isbn;?></td>
<td width="40%"> </td>
</tr>
<tr>
<td width="20%" align="right"> TITRE : </td>
<td width="30%"><?php echo $titre;?></td>
<td width="40%"> </td>
</tr>
<tr>
<td align="right"> AUTEUR : </td>
<td><?php echo $auteur;?></td>
<td align="center"> ISBN/EAN13 <input type=hidden name=f_valid1 value="1"><input name="f_isbn"><input type="submit" value="OK"></td>
</tr>
<tr>
<td align="right"> EDITEUR : </td>
<td><?php echo $editeur;?></td>
<td> </td>
</tr>
<tr>
<td align="right"> PRIX ACHAT : </td>
<td><?php echo $products_price;?></td>
<td> </td>
</tr>
<tr>
<td align="right"> DATE ACHAT : </td>
<td><?php echo $date_price;?></td>
<td align="center"> </td>
</tr>
<tr>
<td align="right"> QUANTITE EN STOCK : </td>
<td><?php echo $products_quantity;?></td>
<td align="center"> </td>
</tr>
</table>
</form>
<br><br>
<table border="1" width="80%" cellspacing="0" cellpadding="10" align="center">
<tr >
<td width="20%" align="center">Ajouter 1 au Stock</td>
<td width="20%" align="center">
<?php
if ($f_valid31=="1"){
require "connect.php"; // la page connect doit avoir été créée et dans cet exemple être dans le même dossier que la page en cours
// on crée la requête SQL
$sql1 = "UPDATE products SET products_quantity = products_quantity + 1 WHERE isbn = '".$_POST['f_isbn']."';";
$res1 = mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error());
// on envoie la requête
while($val = mysql_fetch_array($res1)){ // parcours des resultats
$isbn = $val['isbn'];
$titre = $val['titre'];
$auteur = $val['auteur'];
$editeur = $val['editeur'];
$products_price = $val['products_price'];
$date_price = $val['date_price'];
$products_quantity = $val['products_quantity'];
}
//réinitialisation pour nouvelle saisie
unset($f_valid31);
}//fin de if f_valid1==1
?>
<form method="post" action="<?echo $PHP_SELF?>"> ISBN/EAN13 <input type=hidden name=f_valid31 value="1"><input name="f_isbn"><input type="submit" value="OK"></td></td></form>
</tr>
</table>
<br><br>
<table border="1" width="80%" cellspacing="0" cellpadding="10" align="center">
<tr >
<td width="20%" align="center">Enlever 1 au Stock</td>
<td width="20%" align="center">
<?php
if ($f_valid41=="1"){
require "connect.php"; // la page connect doit avoir été créée et dans cet exemple être dans le même dossier que la page en cours
// on crée la requête SQL
$sql2 = "UPDATE products SET products_quantity = products_quantity -1 WHERE isbn = '".$_POST['f_isbn']."';";
$res2 = mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
// on envoie la requête
while($val = mysql_fetch_array($res1)){ // parcours des resultats
$isbn = $val['isbn'];
$titre = $val['titre'];
$auteur = $val['auteur'];
$editeur = $val['editeur'];
$products_price = $val['products_price'];
$date_price = $val['date_price'];
$products_quantity = $val['products_quantity'];
}
//réinitialisation pour nouvelle saisie
unset($f_valid41);
}//fin de if f_valid1==1
?>
<form method="post" action="<?echo $PHP_SELF?>"> ISBN/EAN13 <input type=hidden name=f_valid41 value="1"><input name="f_isbn"><input type="submit" value="OK"></td></td></form>
</tr>
</table>
<br><br>
<?php
if ($f_valid=="1"){
require "connect.php"; // la page connect doit avoir été créée et dans cet exemple être dans le même dossier que la page en cours
$products_quantity=$f_products_quantity;
$editeur=$f_editeur;
$products_price=$f_products_price;
$date_price=$f_date_price;
$auteur=$f_auteur;
$titre=$f_titre;
// on utilise l'instruction insert into pour ajouter les nouvelles données
$nveau = "insert into products values ('', '', '$editeur', '$products_price', '$date_price', '$auteur', '', '$titre')";
$insert = mysql_query($nveau) or die ("Impossible d'insérer ".mysql_error());
mysql_close($connexion); // Pour fermer l'accès
?>
<p align="center"><?php echo "Le nouveau produit à bien été enregistré !";?></p>
<?php
//réinitialisation pour nouvelle saisie
unset($titre, $auteur, $editeur, $products_price, $date_price, $f_valid);
}//fin de if f_valid==1
?>
<form method="post" action="<?echo $PHP_SELF?>">
<table border="1" width="50%" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="20%" align="right"> ISBN / EAN 13 : </td>
<td width="30%"> </td>
</tr>
<tr>
<td align="right"> TITRE : </td>
<td> <input type="text" name="f_titre" size="64"></td>
</tr>
<tr>
<td align="right"> AUTEUR : </td>
<td> <input type="text" name="f_auteur" size="64"></td>
</tr>
<tr>
<td align="right"> EDITEUR : </td>
<td> <input type="text" name="f_editeur" size="64"></td>
</tr>
<tr>
<td align="right"> PRIX ACHAT : </td>
<td> <input type="text" name="f_products_price" size="10"></td>
</tr>
<tr>
<td align="right"> DATE ACHAT : </td>
<td> <input type="text" name="f_date_price" size="10"></td>
</tr>
</table>
<p align="center">
<input type=hidden name=f_valid value="1">
<input type="submit" value="Bouton de validation du nouveau produit">
</p>
</form>
</body>
</html>
Si vous avez des pistes
Car j'ai vraiment l'impression de ré-inventer la roue...
