Est-ce possible???

Rolli
Invité n'ayant pas de compte PHPfrance

04 juin 2007, 00:05

Bonjour,

J'ai une liste déroulante
<select name="fcMax2[]">
 <?
 $valuefcMax=100;
 while( $valuefcMax<221){
 ?>	
  <option value="<?echo $valuefcMax;?>"<?if($valuefcMax==$fcMax2Sess[$i]){echo 'selected="selected"';}?>><?echo $valuefcMax[$j];?></option>
<?
 $valuefcMax++;
}	
?>       																	</select>
Voilà, j'aimerais que ma liste par défaut commence par '-' ou ' '
Est-ce possible???

Eléphant du PHP | 135 Messages

04 juin 2007, 08:49

<select name="fcMax2[]">
<option value="">-</option>
 <?
 $valuefcMax=100;
 while( $valuefcMax<221){
 ?>    
  <option value="<?echo $valuefcMax;?>"<?if($valuefcMax==$fcMax2Sess[$i]){echo 'selected="selected"';}?>><?echo $valuefcMax[$j];?></option>
<?
 $valuefcMax++;
}    
?> 
? :)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

04 juin 2007, 13:28

voici une autre écriture, qui corrige notamment l'utilisation (condamnable) des short_open_tags...
<select name="fcMax2[]">
    <option value="">-</option>
    <?php
    $valuefcMax=100;
    while ($valuefcMax<221)
          { echo "<option value='",$valuefcMax,"' ",($valuefcMax==$fcMax2Sess[$i] ? "selected='selected'" : ""),">",$valuefcMax[$j],"</option>\n";
            $valuefcMax++;
          }    
    ?>
</select> 

Mammouth du PHP | 693 Messages

04 juin 2007, 13:35

Ne serais ca plutot ca ?
<select name="fcMax2[]"> 
    <option value="">-</option> 
    <?php 
    $valuefcMax=100; 
    while ($valuefcMax<221) 
          { echo "<option value='".$valuefcMax."' ".($valuefcMax==$fcMax2Sess[$i] ? "selected='selected'" : "").">".$valuefcMax[$j]."</option>\n"; 
            $valuefcMax++; 
          }     
    ?> 
</select> 
Parce que je vois pas bien ce que vienne faire les virgules

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

04 juin 2007, 13:58

Cela revient au même... dans ton cas tu vas passer une chaine de caractère au echo (constitué des différentes sous-chaines concaténées) tandis qu'albat passe plusieurs arguments à la commande echo (les différentes sous-chaines), en séparants donc ses arguments par des virgules... mais c'est "kif-kif" :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 693 Messages

04 juin 2007, 14:53

Autant pour moi, je ne savais pas que echo pouvais recevoir plusieurs arguments

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

04 juin 2007, 17:54

Cela revient au même...
mais c'est "kif-kif" :)
Pas tout à fait.

Cela revient au même pour le rendu visible lors de l'affichage,
mais il y a tout de même une petite différence...

En utilisant les virgules, l'interpréteur PHP affiche successivement les différents éléments côte à côte.
En utilisant les points, l'interpréteur PHP constitue une chaîne en concaténant les différents éléments,
puis stocke le résultat de cette concaténation dans sa mémoire et enfin l'affiche.

Au niveau du code présenté ci-dessus, l'économie de ressources serveurs est infime,
mais si l'on augmente l'échelle des développements, cette optimisation devient conséquente.

Mammouth du PHP | 693 Messages

04 juin 2007, 18:02

Je me souviendrai de remplacer mes points par des virgules pour mes prochaines applications

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 juin 2007, 19:03

si on évite de faire générer à PHP beaucoup de code HTML via des echo alors que c'est inutile me semble être beaucoup plus intéressant que de remplacer les points par des virgules. :-k

Je pense que ça reste dans le domaine de la micro-optimisation. ;)

Sinon, pourquoi même les codes d'excellents développeurs contiendrais des points et pas des virgules :?:

De plus, la gestion du buffer d'affichage étant très largement configurable au niveau du serveur, il est possible que cette optimisation soit mangée la configuration du serveur
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 139 Messages

04 juin 2007, 22:41

Rolli=Rolusseum

Merci Erazer, pour ta réponse et ta solution.
Un post qui a involontairement ouvert un petit débat sur l'optimisation de code.
Merci à tous pour ce cours d'optimisation enrichissant.

J'ajouterais à la solution proposée par Erazer
[php]
<option value="-">-</option>
[/php]

Afin de garder la valeur "-".

Merci à vous et bonne continuation

Rolli

Eléphant du PHP | 135 Messages

04 juin 2007, 22:47

bonsoir,

pense à cliquer sur le bouton résolu ;)

bonne nuit :>

Eléphant du PHP | 139 Messages

04 juin 2007, 22:47

Je suis enregistré et connecté, mais je ne peux pas "mettre résolu", car j'ai posté en tant qu'invité.
Si vous pouviez "encore"me rendre ce petit service.
Merci

Mammouth du PHP | 19672 Messages

04 juin 2007, 23:27

C'est fait :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1885 Messages

05 juin 2007, 02:14

http://devzone.zend.com/node/view/id/2008
In my opinion, “Premature Optimization” is the very common practice of spending too much time optimizing something before we even know it needs optimization. Many developers, including myself, tend to seriously try to optimize things even when it’s not cost-effective or productive, just we want to do things elegantly.
:)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 juin 2007, 08:19

J'ai suivi le lien qui se trouve dans ton lien (http://prematureoptimization.org/blog/archives/26) et, effectivement, je suis bien ces 5 points.

Je commence même déjà à être une bête noire au bureau parce que j'essaye de l'imposer sur mes projets (PHPdocumentor, 1 classe par fichier, des méthodes simples et modulables).

Mais, pour moi, l'intérêt de remplacer les points par des virgules reste soumis à caution.

Sinon, bon article, j'aime bien ce genre de discours ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer