Mettre de l'ordre dans ma mise en page

Mammouth du PHP | 545 Messages

07 mars 2008, 13:55

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
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

ViPHP
ViPHP | 1996 Messages

08 mars 2008, 03:47

hmmm :-k chez moi c bien aligné (FF 2.0)
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Mammouth du PHP | 545 Messages

08 mars 2008, 09:26

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
Sebe

Pour moi, le PHP est une nouvelle aventure qui a commencée fin octobre 2005 ... c'est plus exitant que le HTML!

Mammouth du PHP | 19672 Messages

08 mars 2008, 09:36

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: