PHP: if et else

Fermé
moicjm - 15 sept. 2008 à 19:21
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 16 sept. 2008 à 19:07
Bonjour,



Pourriez vous me dire ce qui cloche dans ce petit script... parce que je n'arrive pas à le faire marcher...

J'ai des salles et dans les salles, j'ai des meubles/
L'idée, c'est d'afficher au chargement de la page le menu déroulant qui indique la salle, puis, lorsque cette salle est connue, on affiche le menu déroulant qui indique les meubles.

<?php
if (isset($_get['salle']))
{
$salle = $_get['salle];
?>
<form method="get" action="sommaire2.php?salle=<?php $salle2 ?>">
<SELECT NAME="salle2" style="width:200px;">
<OPTION>salon
<OPTION>cuisine
<OPTION>chambre
<OPTION>entree
</SELECT>
<input type="submit" value="Changer de salle"></form>
<br>
<form method="get" action="requete2.php?parnomdemeuble=<?php $parnomdemeuble ?>">
<SELECT NAME="parnomdemeuble" style="width:200px">
<?php mysql_connect("localhost", "root", "");
mysql_select_db("bdd");
$reponse = mysql_query("SELECT * FROM essai_meuble WHERE salle='$salle2'");
WHILE ($donnees = mysql_fetch_array($reponse) )
{
?> <OPTION> <?php echo $donnees['nommeuble'];
}
?></SELECT><input type="submit" value="Envoyer"></form><?php
}

else
{

?><p>Indiquez la salle du meuble que vous cherchez.</p>
<form method="get" action="sommaire2.php?salle=<?php $salle ?>">
<SELECT NAME="salle" style="width:200px;">
<OPTION>salon
<OPTION>cuisine
<OPTION>chambre
<OPTION>entree
</SELECT>
<input type="submit" value="Envoyer"></form>

<?php
}
?>
A voir également:

2 réponses

Utilisateur anonyme
15 sept. 2008 à 19:25
bonsoir,

<?php
if (isset($_get['salle']))
{
$salle = $_get['salle];
?>

manque une quote dans l'affectation
<?php
if (isset($_get['salle']))
{
$salle = $_get['salle'];
?>
0
je vais voir tout cela. On a beau se relire, c dingue !!
merci
0
moicjm > moicjm
16 sept. 2008 à 10:07
Bon.. ce n'est pas cela... Ca ne marche pas : lorsque j'appelle la page, cela affiche bien le menu déroulant #salles, mais apres, lorsque je choisis une salle, ca n'affiche pas le 2nd menu déroulant...

Merci de votre aide
0
moicjm > moicjm
16 sept. 2008 à 11:15
nobody ?

:(
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > moicjm
16 sept. 2008 à 19:07
Bonsoir,

utilises plutôt la méthode POST au lieu de GET

il te manquait les balises fermantes </option> les value= dans <option

je t'ai fais un petit script qui te fait les deux listes liées et le traitement sur la même page de script
avec un seul form , plus qqs traces d'erreurs mysql

il se nomme sommaire2.php

si tu veux changer le nom, changes aussi action="....
<html>
<?php
if (isset($_POST['salle'])){
	$salle = $_POST['salle'];
}else{
	$salle="";
}
?>

<form name="form_test" method="POST" action="sommaire2.php">
Selectionnez d'abord une salle:<br />
<select name="salle" style="width:200px;">
	<option value="salon" <?php if($salle=="salon"){echo "selected";} ?> >Salon</option>
	<option value="cuisine" <?php if($salle=="cuisine"){echo "selected";} ?> >Cuisine</option>
	<option value="chambre" <?php if($salle=="chambre"){echo "selected";} ?> >Chambre</option>
	<option value="entree" <?php if($salle=="entree"){echo "selected";} ?> >Entr&eacute;e</option>
</select>
<br />
<?php

//si la premiere liste est envoyée on va afficher la seconde en fct du choix de la premiere
	if (isset($_POST['salle'])){
		echo "Selectionnez ensuite le meuble:<br />";
?>
		<select name="parnomdemeuble" style="width:200px">
<?php
			mysql_connect("localhost", "root", "") or die("pb connexion au serveur ".mysql_error());
			mysql_select_db("bdd") or die("pb de selection de la base ".mysql_error());
			$reponse = mysql_query("SELECT * FROM essai_meuble WHERE salle='".$salle2."'")  or die("pb avec la requete ".mysql_error());
			while ($donnees = mysql_fetch_array($reponse) ){
?> 
			<option value="<?php echo $donnees['nommeuble'];?>"></option>
<?php
			}
?>
		</select>
<?php
	}
?>
<br />
<input name="submit"type="submit" value="Envoyer">
</form>
<?php
if (isset($_POST['salle']) && isset($_POST['parnomdemeuble']) ){
	//la tu recuperes les deux choix par
	$salle=$_POST['salle'];
	$meuble=$_POST['parnomdemeuble'];
	//et tu fais ton traitement
}
?>
</html>
0
Utilisateur anonyme
16 sept. 2008 à 17:50
bonsoir
ici
<form method="get" action="sommaire2.php?salle=<?php $salle ?>">

il faut évrire <?php echo $salle; ?>
0