Page 1 sur 1

formulaire

Posté : 07 juil. 2015, 11:11
par mistycloth
bonjour

voila je ne sais pas comment prendre le probleme

j ai 2 tables dans ma bdd (vehicule et materiaux)

je fait deux boucle pour les afficher avec un bouton acheter par produit

j aimerai faire que quand on appuis sur le bouton submit sa recuper l'id du produit pour le traiter mais je n'y arrive pas
<?php
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query('SELECT * FROM vehicule ORDER BY id_vehicule DESC') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

$req2 = mysql_query('SELECT * FROM materiaux ORDER BY id_materiaux DESC') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());}
?>
<form action="magasin.php" method="post">

<?php
while ($vehicule = mysql_fetch_array($req)) 
	{
	echo '<p>'.$vehicule['nom_vehicule'].'<br/>';
	echo '<input type="hidden" name="'.$vehicule['id_vehicule'].'" />';
	echo '<input type="submit" value="acheter" name="vehicule"/></p>';
	}
?>

<?php
while ($materiaux = mysql_fetch_array($req2)) 
	{
	echo '<p>'.$materiaux['nom_materiaux'].'<br/>';
	echo '<input type="hidden" name="'.$materiaux['id_materiaux'].'" />';
	echo '<input type="submit" value="acheter" name="materiaux"/></p>';
	}
	?>
</form>

Re: formulaire

Posté : 07 juil. 2015, 11:59
par @rthur
Bonjour,

il faut que tu mettes un nom à ton champ input hidden pour pouvoir récupérer la valeur facilement :
echo '<input type="hidden" name="id_materiaux" value="'.$materiaux['id_materiaux'].'" />';

Re: formulaire

Posté : 07 juil. 2015, 12:53
par mistycloth
<?php
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query('SELECT * FROM vehicule ORDER BY id_vehicule') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

$req2 = mysql_query('SELECT * FROM materiaux ORDER BY id_materiaux') or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

if (!empty($_POST['vehicule']))
	{
	echo $_POST['nom_vehicule'];
	}
?>
<form action="magasin.php" method="post">

<?php
while ($vehicule = mysql_fetch_array($req)) 
	{
	echo '<p>'.$vehicule['nom_vehicule'].'<br/>';
	echo '<input type="hidden" name="nom_vehicule" value="'.$vehicule['nom_vehicule'].'" />';
	echo '<input type="submit" value="acheter" name="vehicule"/></p>';
	}
?>

<?php
while ($materiaux = mysql_fetch_array($req2)) 
	{
	echo '<p>'.$materiaux['nom_materiaux'].'<br/>';
	echo '<input type="submit" value="acheter" name="materiaux"/></p>';
	}
	?>
</form>
ca ne me retourne que le nom du dernier vehicule passé dans la boucle !

Re: formulaire

Posté : 07 juil. 2015, 13:00
par mistycloth
je parle dans la boucle de recuperation des donnée apres envoi du bouton submit

Re: formulaire

Posté : 07 juil. 2015, 17:02
par mistycloth
c'est bon j ai trouver

fallais deplacer les balises du formulaire
while ($vehicule = mysql_fetch_array($req)) 
	{
	echo '<form action="magasin.php" method="post">';
	echo '<p>'.$vehicule['nom_vehicule'].'<br/>';
	echo '<input type="hidden" name="nom_vehicule" value="'.$vehicule['nom_vehicule'].'" />';
	echo '<input type="submit" value="acheter" name="vehicule"/></p>';
	echo '</form>';
	}