Approvisionnement de produit

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Approvisionnement de produit

Re: Approvisionnement de produit

par @rthur » 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 ?

Re: Approvisionnement de produit

par Harm21 » 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

Re: Approvisionnement de produit

par @rthur » 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 ?

Approvisionnement de produit

par Harm21 » 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