Liste déroulante et requete - en php/mysql

salut, jai dans ma table spectacle 2 champs (ecole et salle) qui sont des clés étrangères. L’un des 2 champs doit etre obligatoirement rempli et l’autre vide.
Quand je veux modifier ma table spectacle avec mon formulaire, jai 2 liste déroulante, une qui contient les noms des salles et l’autre qui contiennent les noms des ecoles.

Ce que je veux faire, c’est que lorsqu’on arrive sur la page de modification, les données de la base se mettent dans les champs. Ca marchent avec les champs de saisies mais quand jai des liste déroulantes, jai du mal. Je sais qu’il faut utiliser selected. Ca marche quand le champ est renseigné mais quand il ne l’est pas, je ne veux pas qu’il me choisis la 1ere valeur

echo"<tr><td>Salle </td><td><select name='salle'>";
	
	
	//selection des données de l'interv grace à l'id récupéré
	$query4="SELECT * FROM salle";
	$send4=mysql_query($query4);  
	
	
  while($r4=mysql_fetch_array($send4))//tant qu'il y a des salles, on les affiche
  {	
    	
  	if($r4[0]==$r[2]){ echo "<option value=\"r4[0]\" selected=\"$r[2]\">$r4[1]</option>"; }
  	else{ echo "<option value=\"r4[0]\">$r4[1]</option>"; }
  	
        }

jai essayé de rajouter ceci mais ça ne passe pas :

if($r[2]=='NULL'){ echo "<option value=\"r4[0]\">$r4[1]</option>"; }

comment je pourrais faire svp ?

rajoute un champ vide dans ton menu deroulant et mets le par défaut ?:neutre:

Je ne sais pas si c’est de là que vient ton problème (j’avoue ne pas tout avoir comprit), mais juste en passant il y a un problème dans ton code :

if($r4[0]==$r[2]){ echo "<option value=\"r4[0]\" selected=\"$r[2]\">$r4[1]</option>"; }
  else{ echo "<option value=\"r4[0]\">$r4[1]</option>"; }

Si tu veux mettre une variable array dans une chaine de caractères, il faut que tu l’entoures d’accolades, sinon elle ne sera pas correctement interpretée.
Donc il faudrait écrire plutôt ça :

if($r4[0]==$r[2]){ echo "<option value=\"{r4[0]}\" selected=\"{$r[2]}\">{$r4[1]}</option>"; }
  else{ echo "<option value=\"{r4[0]}\">{$r4[1]}</option>"; }