Approvisionnement de produit

Petit nouveau ! | 3 Messages

18 mars 2022, 09:31

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

18 mars 2022, 11:53

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 ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 3 Messages

18 mars 2022, 12:43

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

18 mars 2022, 18:18

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 ?
Quand tout le reste a échoué, lisez le mode d'emploi...