IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

HTML Select et CCS [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut HTML Select et CCS
    Bonjour,
    J'ai un souci et ne vois pas où chercher, comment le solutionner...
    J'ai écrit une fonction appelée de PHP qui génère le select et tous les <option>... etc des éléments d'une table afin de sélectionner un de ceux-ci.

    Voici le code, facile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    /*
    	$nom               		: nom du champ
    	$elements          		: tableau associatif dont les clefs et valeurs sont places dans les options value
    	$default 	: valeur selectionnee ou NULL
    	$taille            		: nombre de ligne affichees du champ
    */
    function form_select($elements, $name = "select", $taille = 1, $style="form_select") 
    {	$default = (isset($_POST["$name"])) ? $_POST["$name"] : 0 ; 
    	//   Essai.....
            $length = 0 ;
    	foreach($elements as $clef => $valeur) 
    	{	$len = strlen($value) ;
    		if ($len > $length)
    			$length = $len ;
    	}
    	
    	echo "<div class='" . $style . "'>" ;
    	echo '<select name="' . $name . '" id="' . $name . '"' . ($taille == 1 ? "" : " size=\"$taille\"") . '">';
    	foreach($elements as $clef => $valeur) 
    	{	$selection = ($default == $valeur) ? " selected" : NULL ;
    		echo '<option value="' . $valeur . '"' . $selection . '>' . $clef . '</option>' . "<br />";
    	}
    	echo '</select>';
    	echo "</div>" ;
    
    
    //     Suite essai....	return($length) ;
    }
    La table est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //							Cl				Valeur
    //							===				======
    $sel_difficulte = array( 	"Difficulté"   				=>  0 ,
    							"Douce	"   				=>  1 ,
    							"Randonnée exploration"		=>	2 ,
    							"Randonnée active"   		=>  3 ,
    							"Randonnée aventure"		=>	4 ,
    							"Randonnée expédition"		=>	5			
    					 	) ;
    J'utilise pour ce champ le CSS qui - entre autre - pour but de souligner en gras le bord du champ.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    .form_select {
    	color: #FFFFCC;
    	font-size: medium;
    	text-align: center;
    	vertical-align: top;
    	background-color: #33FF00;
    	background-position: center top;
    	border: 1px solid #000000;
    }
    
    Voici l'appel de la fonction:
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234567
     
                <td class="form_select">
    	            <?php					  
    					$g = (isset($_POST['difficulte'])) ? $_POST['difficulte'] : 0 ;
    		 			form_select($sel_difficulte , $name="difficulte" , $default = $g ) ; 
    				?>		
                </td>
    Mais le problème est - voir jpg en annexe - que j'ai 2 bords de couleur verte (définie par le background de la CSS je présume) de part et d'autre du champ à sélectionner proprement-dit. Ce n'est pas que cela me dérange mais je souhaiterais contrôler la longueur de ces bordures - voire la rendre nulle - mais comment faire ?
    J'ai cru un moment qu'on pouvait via HTML contrôler la longueur d'un champ SELECT, mais non - ou je n'ai pas bien vu - et il y a du coding dans mon fonction pour faire en sorte que celle-ci renvoie la longueur de l’élément le + long ou que cette longueur apparaisse dans un keyword du SELECT.
    Mais fonctionne pas !

    Un p'tit coup de main me ferait grand plaisir.

    Merci @ tous
    Images attachées Images attachées  

  2. #2
    Débutant Avatar de ETVigan
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2010
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 660
    Points : 170
    Points
    170
    Par défaut SELECT HTML & CSS
    Solution facile - en apparence - mais on n'y pense pas de suite, on cherche dans les keywords de SELECT alors que l'astuce est dans le <TD>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                <td width="180">
    	            <?php					  
    					$g = (isset($_POST['difficulte'])) ? $_POST['difficulte'] : 0 ;
    		 			form_select($sel_difficulte , $name="difficulte" , $default = $g ) ; 
    				?>            
                </td>
    Merci quand même !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HTML] select et combobox
    Par MatMeuh dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/11/2004, 10h21
  2. [HTML][Select]désactiver une option sous IE ?
    Par tiPouick dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 05/11/2004, 12h13
  3. [html:select][html:options] pb de submit
    Par wazup dans le forum Struts 1
    Réponses: 5
    Dernier message: 03/05/2004, 18h54
  4. html:select struts
    Par JulienT dans le forum Struts 1
    Réponses: 3
    Dernier message: 14/04/2004, 11h40
  5. [Struts] preselection ds un html:select ???
    Par FreshVic dans le forum Struts 1
    Réponses: 5
    Dernier message: 10/02/2004, 11h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo