Page 1 sur 1

Approvisionnement de produit

Posté : 18 mars 2022, 09:31
par Harm21
bonjour à tous ! J'ai vraiment besoin de votre aide. mon code pour approvisionner les produits dans ma base de données ne marche pas
Voici la page appro.php qui permet de faire l'approvisionnement de ma table produit
<?php 
$liaison = mysqli_connect('localhost', 'root', 'root');
mysqli_select_db($liaison, 'best');


?>
<script language='javascript' type="text/javascript">
function recolter()
{
	document.getElementById("formulaire").request({
		onComplete:function(transport){
			if(document.getElementById('tampon').value=='recup')
			{
				var tab_info = transport.responseText.split('|');
				document.getElementById('ref_produit').value = tab_info[0];
				document.getElementById('qte_produit_avt').value = tab_info[1];
				document.getElementById('qte_produit_aps').value = "";
				document.getElementById('qte_produit').value = "";
			}
			else
			{
				if(transport.responseText=="ok")
				{
					document.getElementById('qte_produit_aps').value= parseInt(document.getElementById('qte_produit_avt').value) + parseInt(document.getElementById('qte_produit').value);
					document.getElementById('msg_reponse').innerText = "Le stock a été mis à jour avec succès";
				}
				else
					document.getElementById('msg_reponse').innerText = "Une erreur est survenue, le stock est inchangé";
			}
		}
	});
}
</script>
<form id="formulaire" name="formulaire" method="post" action="check.php">
				<div class="titre_h1" style="">
					<div style=""></div>
					<div style="">
						<select id="des_produit" class="u-input u-input-rectangle u-white"  name="des_produit" onchange="document.getElementById('tampon').value='recup';recolter();">
							<option value="0">Choisir le designation produit</option>
							<?php 
								$requete = "SELECT nom_produit FROM produit ORDER BY nom_produit;";
								$retours = mysqli_query($liaison, $requete);
								while($retour = mysqli_fetch_array($retours))
								{
									echo "<option value='".$retour["nom_produit"]."'>".$retour["nom_produit"]."</option>";
								}					
							?>
						</select>
						<input type="text" id="tampon" name="tampon" style="visibility:hidden;" />
					</div>
					<div style=""></div>
					<div style="">
						Référence produit :<br />
						<input class="u-input u-input-rectangle u-white" type="text" id="ref_produit" name="ref_produit" disabled />
					</div>
					<div style=""></div>
					
					
					<div style=""></div>
					<div style="">
						Quantité en + ou + :<br />
						<input class="u-input u-input-rectangle u-white" type="text" id="qte_produit" name="qte_produit" />
					</div>
					<div style=""></div>
					<div style="">
						Quantité avt MAJ :<br />
						<input class="u-input u-input-rectangle u-white" type="text" id="qte_produit_avt" name="qte_produit_avt" disabled />
					</div>
					<div style=""></div>
					<div style="">
						Quantité aps MAJ :<br />
						<input class="u-input u-input-rectangle u-white" type="text" id="qte_produit_aps" name="qte_produit_aps"  />
					</div>					
					<div style=""></div>					

			<div class="div_saut_ligne" style="height:30px;">
			</div>					
					
					<div style=""></div>
					<div style="">
						<input class="u-border-none u-btn u-btn-submit u-button-style u-custom-color-1 u-hover-custom-color-2 u-text-white u-btn-1" type="button" id="valider" name="valider" value="Valider la mise à jour" onclick="document.getElementById('tampon').value='maj';recolter();" />
					</div>
					<div style=""></div>
					<div id="msg_reponse" style="">
						<?php 
							echo "Réponse serveur";
						?>
					</div>
					<div style=""></div>					
					
				</div>
			</form>



Et voici le fichier qui agit sur le formulaire check.php
<?php 
	$liaison2 = mysqli_connect('localhost', 'root', 'root');
	mysqli_select_db($liaison2, 'best');
	
	if(isset($_POST["tampon"]) && $_POST["tampon"]=="recup")
	{
		$requete = "SELECT * FROM produit WHERE nom_produit = '".$_POST["des_produit"]."';";
		$retours = mysqli_query($liaison2, $requete);
		$retour = mysqli_fetch_array($retours);
		$chaine = $retour["id"]."|".$retour["qte"];
		print($chaine);
	}
	else
	{
		$requete = "UPDATE produit SET qte = qte + ".$_POST['qte_produit']." WHERE nom_produit = '".$_POST["des_produit"]."';";
		$retours = mysqli_query($liaison2, $requete);
		if($retours==1)
			print("ok");
		else
			print("nok");
	}
	
	mysqli_close($liaison2);
?>
Dans le formulaire quand je clique sur designation de produit ça m'affiche le nom des produits mais quand je sélectionne les données (quantité produit) ne s'affiche pas.
Merci d'avance pour votre aide

Re: Approvisionnement de produit

Posté : 18 mars 2022, 11:53
par @rthur
Il faut que tu avances davantage dans ton debugage :
- as-tu testé dans différents navigateurs ?
- que te dis la console javascript (Ctrl+Maj+i sous Firefox ou Chrome) ?
- à quel endroit précisément ton code ne s'exécute pas comme prévu ?

Re: Approvisionnement de produit

Posté : 18 mars 2022, 12:43
par Harm21
Lorsque je sélectionne le nom du produit dans le formulaire. en cliquant sur le lien je devrais avoir les information id et qte produit afficher

Re: Approvisionnement de produit

Posté : 18 mars 2022, 18:18
par @rthur
Et donc ?
- as-tu testé dans différents navigateurs ?
- que te dis la console javascript (Ctrl+Maj+i sous Firefox ou Chrome) ?
- à quel endroit précisément ton code ne s'exécute pas comme prévu ?