Affichage selection

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Affichage selection

par Truc » 04 mars 2006, 15:56

tu dois inclure le test if() et le print() dans la boucle for().

par Dom! » 04 mars 2006, 15:40

Hmm j'ai essayé mais rien ne se passe je mets le bout de code :
          <? 
$sqldip = 'select * from tb_salles '; 
   // $nbsql += 1; 
    if ($resselectdip = mysql_query($sqldip)) { 
         while ($selectdip = mysql_fetch_array($resselectdip)) 
         { 
                                 $tableau = explode(",", $selectdid["id_salles"]); 
								 
                                 
                             $temp = ""; 
                                 
                                 for ($cpt=0; $cpt < count($tableau); $cpt++) 
                                      if ($tableau[$cpt] == $selectdip["id"]) 
   $temp =" selected=\"selected\" "; 
else 
   $temp = ""; 
										 
                                 
                                 
                                 print '<option value="'.$selectdip["id"].'"'.$temp.'>'.$selectdip["nom"].'</option>'; 
                                  
         } 
    } 
?> 
Merci pour votre aide

par Truc » 04 mars 2006, 15:21

Salut,

Apparemment suffit de réinitialiser la variable de $temp dans la boucle for():
if ($tableau[$cpt] == $selectdip["id"])
   $temp =" selected=\"selected\" ";
else 
   $temp = "";
ou avec l'opérateur ternaire :
$temp = ($tableau[$cpt] == $selectdip["id"]) ? " selected=\"selected\" " : "";

Affichage selection

par Dom! » 04 mars 2006, 15:11

Bonjour à tous et bon week end !

J'ai fais un formulaire qui m'affice les salles disponibles en fonction.

J'ai donc une table salles :

id nom
1 Gymnase
3 Omnisports
2 Zonzon
9 Zaza

Et une table section :

id salles
19 1,3

J'affiche donc dans une liste / Menu les salles et selectionne celle(s) qui sont disponible comme ceci :
<select name="id_salles[]" size="5" multiple="MULTIPLE" class="champ" id="select">
          <option>Aucun</option>
          <? 
$sqldip = 'select * from tb_salles ';
   // $nbsql += 1;
	if ($resselectdip = mysql_query($sqldip)) {
         while ($selectdip = mysql_fetch_array($resselectdip))
         {
                                 $tableau = explode(",", $selectdid["id_salles"]);
								 
							 $temp = "";
								 
								 for ($cpt=0; $cpt < count($tableau); $cpt++) 
  									if ($tableau[$cpt] == $selectdip["id"])
										$temp = " selected"; 
								 
								 
								 print '<option value="'.$selectdip["id"].'"'.$temp.'>'.$selectdip["nom"].'</option>';
                                 
         }
    }
?>
        </select>
Mon probleme c'est que je souhaite afficher seulement les salles selectionnées par exemple pour l'id 19 les salles 1 et 3 ! et non la 2, 4,8 ...

Comment faire ? merci d'avance