Page 1 sur 1

Mettre de l'ordre dans ma mise en page

Posté : 07 mars 2008, 13:55
par Sebe
Bonjour,

Je rencontre quelques petits soucis pour disposer les différents éléments (d'un formulaire) sur ma page qui ne s'ordonne pas l'un en dessous de l'autre comme dans un tableau fait avec '<table>' ... une petite vu ici

Voici mon code:

Code : Tout sélectionner

<style type="text/css"> div.table-entete { width:auto; } div.td-entete { /*width: 50%;*/ display:block; float:left; } div.end { width:auto; float:none; } </style> <form id="formulaire" name="formannee" method="post" action="<?php echo $link;?>"> <div class="table-entete"> <div class="tr-entete"></div> <?php if ($limit == '') echo '<div class="td-entete">' . _ANNEE . ' : </div>'; if ($class != 2 && $class_Config['aff_cat'] == 1) echo '<div class="td-entete">' . _CAT . ' : </div>'; if ($class != 2 && $class_Config['aff_club'] == 1) echo '<div class="td-entete">' . _CLUB . ' : </div>'; if ($limit == '') echo '<div class="td-entete">' . _CLASS . ' : </div>'; if ($limit == 1){ if (($class_Config['aff_cat'] == 1) || ($class_Config['aff_club'] == 1)) { echo '<div class="td-entete end"></div>';} } else {echo '<div class="td-entete end"></div>';} ?> <div class="tr-entete"> <?php if ($limit == '') { echo '<div class="td-entete">'; $annee_en_cours = date("Y"); echo '<select name="annee" id="annee">'; if ($annee == '') $annee = date("Y"); if ($class_Config['min_year'] == '') { $min_year = date("Y"); }else {$min_year = $class_Config['min_year'];} for($a=$annee_en_cours;$a>=$min_year;$a--) { $is_selected=""; if ($a == $annee) {$is_selected = "selected";} echo "<option value=\"$a\" ". $is_selected .">$a</option>\r"; } echo '</select></div>'; }// fin de $limit if ($class != 2 && $class_Config['aff_cat'] == 1) { echo '<div class="td-entete"><select name="categorie" id="categorie">' . '<option value="0">Toutes</option>'; foreach ($catlist as $cat){ $is_selected=""; if ($categorie == $cat->id) { $is_selected = "selected";} echo '<option value="' . $cat->id . '"'.$is_selected.'>' . $cat->categorie . '</option>'; }// fin du foreach echo '</select></div>'; }// condition d'affaichage if ($class != 2 && $class_Config['aff_club'] == 1) { echo '<div class="td-entete"><select name="club" id="club">' . '<option value="0">Tous</option>'; foreach ($clublist as $clubs){ $is_selected=""; if ($club == $clubs->id) { $is_selected = "selected";} echo '<option value="' . $clubs->id . '"'.$is_selected.'>' . $clubs->club . '</option>'; }// fin du foreach echo '</select></div>'; } // condition d'affaichage if ($limit == '') { if ($class == ''){$class = 1;} echo '<div class="td-entete"><select name="officiel" id="officiel">'; $i=0; for ($i=0; $i<3; $i++){ switch ($i){ case 0: $classement = _FICT; break; case 2: $classement = _PODUIM; break; case 1: default: $classement = _OFFI; break; } $is_selected=""; if ($i == $class) {$is_selected = "selected";} echo '<option value="' . $i . '"'.$is_selected.'>' . $classement . '</option>'; }// fin du for echo '</select></div>'; }// fin de if ($limit == '') if ($limit == 1){ if (($class_Config['aff_cat'] == 1) || ($class_Config['aff_club'] == 1)){ echo '<div class="td-entete end"><input name="submit2" type="submit" value ="OK" /></div>';} } else {echo '<div class="td-entete end"><input name="submit2" type="submit" value ="OK" /></div>';} ?> </div> </div> </form>
Je pense que mon problème se situe dans la class 'div.td-entete' mais 'width: ' et un pourcentage ou un nombre de px ne convient pas du tout !
Quelqu'un peut-il m'aider sur ce coup ?

Merci

Posté : 08 mars 2008, 03:47
par Aureusms
hmmm :-k chez moi c bien aligné (FF 2.0)

Posté : 08 mars 2008, 09:26
par Sebe
Salut,
hmmm :-k chez moi c bien aligné (FF 2.0)
En fait, j'ai trouvé une solution hier soir (un peu avant minuit !) ... comme je n'y connais rien, il a fallut que j'explore et je suis tombé sur 'label for'.
Voici mon code:
<style type="text/css">
form.css fieldset{ padding: 1em;}
#formulaire label{
	padding-right: 65px;
	clear: left;
	}
#formulaire select { width: 110px; }
</style>
<form id="formulaire" name="formannee" method="post" action="<?php echo $link;?>">
<fieldset>
    <legend>
	<?php
	if ($limit == '') echo '<label for="annee">' .  _ANNEE . ' :</label>';
	if ($class != 2 && $class_Config['aff_cat'] == 1) echo '<label for="categorie">' . _CAT . ' :</label>';
	if ($class != 2 && $class_Config['aff_club'] == 1) echo '<label for="club">' . _CLUB . ' :</label>';
	if ($limit == '') echo '<label for="officiel">' . _CLASS . ' :</label>';?>
	</legend>
	
	<?php 
	if ($limit == '') {
		$annee_en_cours = date("Y");
		echo '<select name="annee" id="annee">';
			
		if ($annee == '') $annee = date("Y"); 
		if ($class_Config['min_year'] == '') {
			$min_year = date("Y");
			}else {$min_year = $class_Config['min_year'];}
			
		for($a=$annee_en_cours;$a>=$min_year;$a--) {
			$is_selected="";	
			if ($a == $annee) {$is_selected = "selected";}
			echo "<option value="$a" ". $is_selected .">$a</option>\r";	 
			}
		echo '</select>';
		}// fin de $limit
		?>
	
	<?php
	if ($class != 2 && $class_Config['aff_cat'] == 1) {
		echo '<select name="categorie" id="categorie">'
			. '<option value="0">Toutes</option>';
		foreach ($catlist as $cat){
			$is_selected="";
			if ($categorie == $cat['id']) { $is_selected = "selected";}
			echo '<option  value="' . $cat['id'] . '"'.$is_selected.'>' . $cat['categorie'] . '</option>';
			}// fin du foreach
		echo '</select>';
		}// condition d'affaichage
	?>
	
	<?php 
	if ($class != 2 && $class_Config['aff_club'] == 1) {
		echo '<select name="club" id="club">'
			. '<option value="0">Tous</option>';
		foreach ($clublist as $clubs){
			$is_selected="";
			if ($club == $clubs['id']) { $is_selected = "selected";}
		echo '<option  value="' . $clubs['id'] . '"'.$is_selected.'>' . $clubs['club'] . '</option>';
			}// fin du foreach
		echo '</select>';
		} // condition d'affaichage 
	?>
	
	<?php 
	if ($limit == '') {
		if ($class == ''){$class = 1;}
		echo '<select name="officiel" id="officiel">';
		
		$i=0;	
		for ($i=0; $i<3; $i++){
			switch ($i){
				case 0: $classement = _FICT; break;
				case 2: $classement = _PODUIM; break;
				case 1: default: $classement = _OFFI; break;
				}
				
			$is_selected="";
			if ($i == $class) {$is_selected = "selected";}
			echo '<option  value="' . $i . '"'.$is_selected.'>' . $classement . '</option>';
			}// fin du for
		echo '</select>';
		}// fin de if ($limit == '')
	?>
	<label for="submit"></label>
	<?php
	if ($limit == 1){
			if (($class_Config['aff_cat'] == 1) || ($class_Config['aff_club'] == 1)){
				echo '<input name="submit2" type="submit" value ="OK" />';}
			} else {echo '<input name="submit2" type="submit" value ="OK" />';}
		?>
	
  </fieldset>
</form>
Voilà qu'est ce que tu en penses ? Il y a peut-être 'label for' dans les balises 'legend' qui pourraient surprendre mais je n'ai trouvé que cette solution pour aligner +/- l'intitulé sur le select !

Merci beaucoup

Posté : 08 mars 2008, 09:36
par Cyrano
Comment voudrais-tu qu'on puisse faire des tests avec un code PHP : il manque l'initialitation des variable et donc pour nous c'est un code inutilisable : si tu as des difficultés de mise en page, poste du code html pas du PHP.