Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1698 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Paramètre "selected" d'une liste déroulante : méthode rapide ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Paramètre "selected" d'une liste déroulante : méthode rapide ?

n°2017923
aideinfo
Posté le 19-08-2010 à 14:54:36  profilanswer
 

Bonjour,
Dans un form, j'ai une liste déroulante statique. A la validation du form, je voudrais que la valeur sélectionnée avant  validation soit sélectionnée après. Avez-vous une méthode plus rapide que la vérification par une condition de cahque valeur de la liste ?


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
mood
Publicité
Posté le 19-08-2010 à 14:54:36  profilanswer
 

n°2018158
Pascal le ​nain
Posté le 20-08-2010 à 15:58:46  profilanswer
 

[:mr oizo bis]

Message cité 1 fois
Message édité par Pascal le nain le 20-08-2010 à 21:23:45
n°2018166
flo850
moi je
Posté le 20-08-2010 à 17:06:52  profilanswer
 

aideinfo a écrit :

Bonjour,
Dans un form, j'ai une liste déroulante statique. A la validation du form, je voudrais que la valeur sélectionnée avant  validation soit sélectionnée après. Avez-vous une méthode plus rapide que la vérification par une condition de cahque valeur de la liste ?


non

n°2018171
aideinfo
Posté le 20-08-2010 à 17:35:57  profilanswer
 

Pascal le nain a écrit :

En javascript de base, tu n'as pas le choix.
 
Avec jquery tu peux utiliser des sélecteurs assez puissants du genre
 

$('select option:selected').faire_des_trucs();


Au final, je pense que jquery se sert aussi d'une boucle, mais c'est tout de même plus propre pour le développeur  ;)


 
Euh, en fait, c'est plus en PHP (d'où la rubrique ;) ).


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2018188
Profil sup​primé
Posté le 20-08-2010 à 19:36:56  answer
 

Pas sur d'avoir compris... mais bon l'intérêt est très limité

Code :
  1. <?php
  2. // fill values
  3. $items = array();
  4. while(machin)
  5. {
  6.    $items[$key] = array('value' => $value, 'selected' => '');
  7. }
  8.  
  9. $items[$selected_key]['selected'] = 'selected="selected"';
  10. ?>
  11. <select>
  12. <?php foreach($items as $key => $item) : ?>
  13. <option value="<?php echo $key ?>" <?php echo $item['selected'] ?>><?php echo $item['value'] ?></option>
  14. </select>


 
Enfin bon c'est moche et je suis pas sur que ça réponde à ta question

n°2018191
aideinfo
Posté le 20-08-2010 à 20:11:35  profilanswer
 

Pas vraiment, puisque là, la liste est générée dynamiquement. Ce que je cherche, c'est pour une liste écrite en dur, qu'à la validation du form, la valeur sélectionnée avant la valid le soit après au lieu d'indiquer en dur une valeur sélectionnée, en évitant d'avoir à faire if valeur=xxx, $select_xxx = "selected", else if valeur=yyy, $select_yyy = "selected", .... Si j'ai 50 valeurs, il faut 50 conditions, alors qu'il y a peut-être un moyen (avec un array ou autre) plus rapide auquel je n'ai pas pensé.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2018360
pop-pan
yay!
Posté le 22-08-2010 à 21:09:26  profilanswer
 

gnii?
 
si ta liste est ecrite en dur tu la mets dans un array, il est ou le problème?
on code pas les options en dur dans du code, c'est horrible, on mets ca en dbb ou en dans des fichiers de conf. mais bon disons qu'on met ca dans le code, au lieu de  
 
<option value="1">mon option 1 <option>
<option value="2">mon option 2 <option>
<option value="3">mon option 3 <option>
...
 
tu fais
<?php
$options = array();
$arr['1'] = 'mon option 1' ;
$arr['2'] = 'mon option 2' ;
$arr['3'] = 'mon option 3' ;
...
?>
<select name="monselect">
<?php
foreach ($options as $key=>$value){
    echo ('<option value="'. $key .'" '. ((!empty($_POST['monselect']) && $_POST['monselect'] == $key)?'selected':'') .'>'. $value .'</option>');
}
?>
<select>
 
 
 
ou alors passe sur un framework genre cake.


Message édité par pop-pan le 22-08-2010 à 21:14:29

---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins
n°2018380
aideinfo
Posté le 22-08-2010 à 22:28:14  profilanswer
 

Merci.
 

Citation :

on code pas les options en dur dans du code, c'est horrible


 
Parce que c'est horrible le HTML ???? Dans ce cas, mieux vaut ne pas y toucher...


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2018395
pop-pan
yay!
Posté le 22-08-2010 à 23:44:14  profilanswer
 

je critique pas le HTML, mais l'usage qui en est fait.
c'est comme mettre les styles dans les balises html et pas dans une css, c'est horrible.
si les options sont utilisées et/ou dépendent d'un traitement PHP on les exploite et défini idéalement via/avec PHP, pour des raisons comme... résoudre ton problème qui n'en est pas un.
 
si tu etudie les implémentations de i18n et l10n ca va te sauter aux yeux.
sur un site multilangue tu t'amuses pas a mettre les textes dans toutes les langues dans le html et faire des "IF/ELSE".


Message édité par pop-pan le 22-08-2010 à 23:46:26

---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins
n°2018493
aideinfo
Posté le 23-08-2010 à 15:20:59  profilanswer
 

Mais si la liste n'est utilisée qu'une fois, je ne vois pas l'intérêt d'aller chercher 3/4 lignes dans une table. Le form est en HTML pur (avec un peu de PHP pour la récup des valeurs) car seul le résultat est traité en PHP.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
mood
Publicité
Posté le 23-08-2010 à 15:20:59  profilanswer
 

n°2018502
Pascal le ​nain
Posté le 23-08-2010 à 16:28:03  profilanswer
 

C'est sûr que pour une zone qui ne se répète jamais, aller chercher le code html dans une base, c'est plus de la branlette qu'un choix raisonnable.

n°2018504
pop-pan
yay!
Posté le 23-08-2010 à 16:38:58  profilanswer
 

c'est bien pour ca que je lui indique de le mettre AU MOINS dans un array ca sera pas parfait mais c'est le minimum syndical pour qu'il manipule ses données.
 
c'est parce que comme je suis encore plus faineant que lui je prefere passer 5mn a faire un truc et pas galérer apres que passer X heures a essayer de contourner et alambiquer du code.
 
sinon j'aurais pu lui donner une methode a base de cookie et/ou de lecture URL en javascript avec un form en GET mais la au moins c'est simple, lisible et facile a debogguer.
 
et on ne stocke pas "le code html" dans la base, on stocke les clefs et valeurs/libéllés.


Message édité par pop-pan le 23-08-2010 à 16:42:59

---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Paramètre "selected" d'une liste déroulante : méthode rapide ?

 

Sujets relatifs
Pb de méthode virtuelle sur InterfaceVBS Avancé // Récupérer la liste des groupes de sécurité
VBA Sélection aléatoire dans listeliste de validation entre deux classeurs?[résolu]
[Oracle10] Utiliser datapump avec une liste de tablesLe Langage le plus Rapide !
passage de paramètre d'une fonction fortran appelée depuis python[Javascript] Méthode générée dynamiquement
Afficher liste paramètres Fonction VBARemettre à zéro la liste des résultats MySQL
Plus de sujets relatifs à : Paramètre "selected" d'une liste déroulante : méthode rapide ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR