Mettre un variable en plus

Résolu/Fermé
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 - 22 sept. 2008 à 16:07
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 - 23 sept. 2008 à 17:27
Bonjour,

j'aimerais mettre une variable qui sera id_mag mais je n'arrive pas a la mettre pouvez vous me dire ou ya une ereur sur mon code merci

<?php
include('connexion.php');

echo '<p>Choisissez un Magasin:</p>';
echo"<form action='procedure.php' action=",$_SERVER['PHP_SELF']," method='POST'>";
echo '<select name="nom_mag" id="nom_mag">';


$resultat=mysql_query("SELECT nom_mag, id_mag FROM magasin") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
{
echo '<option>'.$ligne["nom_mag"].'</option>';
}
echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';

?>

16 réponses

Utilisateur anonyme
22 sept. 2008 à 16:24
$resultat=mysql_query("SELECT nom_mag, id_mag FROM magasin where id_mag='$id_mag' ;") or die ("Requête non executée.");
0
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
22 sept. 2008 à 16:36
en faite sa ne fonctionne pas

j aimerais utilise cette variable pour la page suivante je me suis peut etre mal expliquer

je voudrais utiliser la variable id_mag pour pouvoir afficher mes nom techniciens

la premiere page apele home.php permet de choisir un magasin a ki on a attribuer un technicien kan je clik sur afficher je voudrais voir afficher le nom du technicien qui s'occupe du magasin

premiere page "home.php"

<?php
include('connexion.php');

echo '<p>Choisissez un Magasin:</p>';
echo"<form action='procedure.php' action=",$_SERVER['PHP_SELF']," method='POST'>";
echo '<select name="nom_mag" id="nom_mag">';


$resultat=mysql_query("SELECT nom_mag, id_mag FROM magasin") or die ("Requête non executée.");



while ($ligne=mysql_fetch_array($resultat))
{
echo '<option>'.$ligne["nom_mag"].'</option>';
}
echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';

?>


Seconde page quand on clik sur AFFICHER apele 'procedure.php'

<?php

$id_mag = $_POST["id_mag"];


include('connexion.php');

$resultat=mysql_query("SELECT nom_tec, prenom_tec FROM technicien, magasin WHERE technicien_id_tec = id_tec
AND id_mag = $id_mag") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
//echo '<div align="center"><strong>'.$ligne[0].' '.$ligne[1].'</strong></div>';
echo '<div align="center"><strong>'.$id_mag.' '.$ligne[1].'</strong></div>';

?>

sa me met erreur ligne 22 a savoir $id_mag = $_POST["id_mag"];

Notice: Undefined index: id_mag in C:\Program Files\EasyPHP 2.0b1\www\CheckList\page\procedure.php on line 22
Requête non executée.
0
papymucho Messages postés 140 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 1 novembre 2009 220
22 sept. 2008 à 16:45
Salut,

Tiens ce sera plus propre....

<select id='select_mag' name='select_mag'>
	<option value='vide'>Choisir un magasin</option>
	<?php
		include("connexion.php");
		
		$query = "SELECT id_mag, nom_mag FROM magasin";
		$rq = mysql_query($query) or die(mysql_error());
		
		while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
		{
			$id_mag = $row["id_mag"];
			$nom_mag = $row["nom_mag"];
			
			echo "<option value='$id_mag'>$nom_mag</option>";
		}
		mysql_close();
	?>
</select>



Ensuite tu pourras récupérer avec $id_mag = $_POST['select_mag']
0
papymucho Messages postés 140 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 1 novembre 2009 220
22 sept. 2008 à 16:49
En fait pour t'expliquer :

Tu récupères dans $_POST[''] ça : option value =''
Là tu ne récupérais pas de valeur de l'option....
Ensuite ce que tu mets dans $_POST[''] pour récupérer, c'est l'identifiant de ton select.... uniquement.... et tu récupères donc la valeur de l'option.... Compris?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
22 sept. 2008 à 17:09
desole je nai pas compris
de plus jaimerais comprendre se qui cloche avec mon code sur home.php
0
papymucho Messages postés 140 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 1 novembre 2009 220
22 sept. 2008 à 17:32
Justement c'est ce que j'ai tenter de t'expliquer.

En fait tu essayes de récupérer l'id mag avec $id_mag = $_POST["id_mag"];


C'est pas bon du tout..... Tu récupères le choix de l'utilisateur, grâce a la valeur de l'option.... du Select.....

Si l'identifiant de ton select est id="id_mag"; tu feras : $id_mag = $_POST["id_mag"];
Si l'identifiant de ton select est id="nom_mag"; tu feras $id_mag = $_POST["nom_mag"];

En plus de ça faut que tu mettes donc <option value='$id_mag'>$nom_mag</option>

Sinon tu ne récupéreras rien du tout

Si tu veux récupérer l'id d'un enregistrement dans une table, tout en affichant le nom de l'enregistrement dans un select, alors le code que je t'ai envoyé est (je pense) la meilleur soluce ;-)

Sincèrement, préfère ce code là au tiens.

Cordialement,
0
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
22 sept. 2008 à 17:34
si je fais sa


<?php
include('connexion.php');

echo '<p>Choisissez un Magasin:</p>';
echo"<form action='procedure.php' action=",$_SERVER['PHP_SELF']," method='POST'>";
echo '<select name="nom_mag" id="nom_mag">';


$resultat=mysql_query("SELECT nom_mag, id_mag FROM magasin") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
{
$id_mag = $ligne["id_mag"];
$nom_mag = $ligne["nom_mag"];

echo '<option>'.$ligne["nom_mag"].'</option>';
}
echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';

?>




apres sur ma page procedure sa marque la meme erreur en faite

<?php

$id_mag = $ligne["id_mag"];


include('connexion.php');

$resultat=mysql_query("SELECT nom_tec, prenom_tec FROM technicien, magasin WHERE technicien_id_tec = id_tec
AND id_mag = $id_mag") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
//echo '<div align="center"><strong>'.$ligne[0].' '.$ligne[1].'</strong></div>';
echo '<div align="center"><strong>'.$id_mag.' '.$ligne[1].'</strong></div>';

?>

pourtant ma variable devrait etre bonne non
0
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
22 sept. 2008 à 17:36
le probleme de ton code c ke kan je clik sur afficher sa ne va pas sur ma page procedure.php
0
papymucho Messages postés 140 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 1 novembre 2009 220
22 sept. 2008 à 17:49
ton premier select marche correctement?
0
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
22 sept. 2008 à 17:56
oui tres bien c mon second ki deconne
0
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
23 sept. 2008 à 09:55
mais j'ai tester mon second select sur easyphp il fonctionne très bien
se que j'ai du mal c'est comment je peu faire pour quand l'appui sur le bouton afficher elle me dirige vers mon autre page procédure.php car ton code me semble bien mieux que le mien
0
papymucho Messages postés 140 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 1 novembre 2009 220
23 sept. 2008 à 10:59
Salut,

pourquoi veux-tu recharger une nouvelle page... Pour que ta seconde liste déroulante soit générée en fonction du choix effectué dans la première?

Si c'est bien le cas, essaie une requête ajax... Ce sera plus simple, ça t'évitera d'appeler une autre page...
Et dans ton form, (je n'y comprends pas grand chose) 2 actions? Ta variable $_server te sers a quoi?
0
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
23 sept. 2008 à 11:41
ji connais rien a lajax

se que je voulais juste c creer une variable id_mag sur mon code

le $_server me servira pour un peu plus tard je peu lenelever mon code focntionnera toujours bien

se que je voulais savoir c'est ou je pouvais mettre ma variable de facon a la recharger sur une nouvelle page qui sappel procedure.php
0
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
23 sept. 2008 à 15:20
<?php
include('connexion.php');

echo '<p>Choisissez un Magasin:</p>';
echo"<form action='procedure.php' action=",$_SERVER['PHP_SELF']," method='POST'>";
echo '<select name="nom_mag" id="nom_mag">';


$resultat=mysql_query("SELECT nom_mag, id_mag FROM magasin") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
{
echo '<option value="'.$ligne["id_mag"].'" >'.$ligne["nom_mag"].'</option>';
}

echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';

?>


procedure.php

<?php

$id_mag = $_POST["nom_mag"];


include('connexion.php');

$resultat=mysql_query("SELECT nom_tec, prenom_tec FROM technicien, magasin WHERE technicien_id_tec = id_tec
AND id_mag = $nom_mag") or die (mysql_error());

while ($ligne=mysql_fetch_array($resultat))
{
echo '<div align="center"><strong>'.$ligne[0].' '.$ligne[1].'</strong></div>';
}
?>


voila la solution
0
papymucho Messages postés 140 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 1 novembre 2009 220
23 sept. 2008 à 17:24
Salut...
J'ai bien tenté de te l'expliquer qu'il te manquait "value" dans l'option ;-)
0
dadou9101 Messages postés 107 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 12 août 2010 5
23 sept. 2008 à 17:27
c'est vrai c pour sa que jai chercher avec un collegue mais javais pas compris au debut dsl
0