[PHP]Probleme avec select

Fermé
Jérôme - 4 avril 2007 à 22:34
 Jérôme - 4 avril 2007 à 23:55
Bonjour,
Mon code avance, mais il me reste kelke probleme.
Voila deja le code !
<?php
// Connexion à la base
mysql_connect("localhost", "root", ""); 
mysql_select_db("site1");
?>

<?php
// Creation du select
$sql2='SELECT * FROM genre_tbl';
$query2 = mysql_query($sql2);
?>
<form name="form" method="post" action="index.php?page=links">
	<select name="choix" onchange=form.submit()>
		
			<?php 
			while ($data2 = mysql_fetch_array ($query2))
			{
			?>
			<option value="<?php echo $data2['idgenre']; ?>"> <?php echo $data2['genre'];?></option>
			<?php }?>
	</select>
</form>

<?php
// Transfert de la variable
$critere = $_POST ["choix"] ;
?>


<table width="400" border="1">
	<tr>
		<td>id</td>
		<td>Type</td>
		<td>Déscription</td>
		<td>Adresse</td>
	</tr>
	<?php
	
// Creation du tableau

if ($critere = '')
{
	$critere = 1;
}
else 
{
$sql1="SELECT * FROM links WHERE idgenre='$critere'" ;
$query1 = mysql_query($sql1);

		while ($data1 = mysql_fetch_array ($query1))
		{
		?>	
			<tr>
				<td><?php $data1['id']; ?></td>
				<td><?php $data1['genre']; ?></td>
				<td><?php $data1['description']; ?></td>
				<td><?php $data1['adresse'];?></td>
			</tr>
	<?php		
		}
}	
	?>
</table>

<?php
// Deconnexion de la base

mysql_close();
?>



j'espere l'avoir bien decomposer

1- a l'arriver sur la page j'ai le message suivant :
Notice: Undefined index: choix in c:\easyphp\www\site1\links.php on line 26

2-le changement de la valeur du combo ne me fait absoluement pas changer le contenu de mon tableau (la base n'est pas vide les champs correspondent

3- j'aimerais que la valeur choisi dans le select reste affiché apres refresh

Auriez vous des idées, des solution pour ces 3 problemes??

Merci à tous de votre aide

3 réponses

sanjuan Messages postés 89 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 6 avril 2014 1
4 avril 2007 à 22:52
pour la 1: je pense que ta variable n'existe pas encore puisqu'elle n'a pas été encore postée, donc essaie
if(isset($_POST['choix'])){
//si elle existe
$critere=$_POST['choix'];
//et puis tout ce qui se passe dans ce cas
}
else{//rien}

pour retrrouver l'option séléctionné, je l'ai déja fait mais je me rappelle plus, j'envoie si je retrouve
0
Merci !!!
le 1 est résolu !!!
Effectivement simple... mais comme je débute : ben voila !
0
<tr>
<td><?php echo $data1['id']; ?></td>
<td><?php echo $data1['idgenre']; ?></td>
<td><?php echo $data1['description']; ?></td>
<td><?php echo $data1['adresse'];?></td>
</tr>

Comme ca c'est mieux pour le 2 !!!
Désolé c'était vraiment stupide :)
0