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

  FORUM HardWare.fr
  Programmation
  PHP

  faut-il mieux utiliser les "echo" ou l'HTML?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

faut-il mieux utiliser les "echo" ou l'HTML?

n°558382
saxgard
Posté le 04-11-2003 à 09:49:36  profilanswer
 

vaut-il meiux faire :
 

Code :
  1. echo " <td><select name='depot_princ[".$i."]' size='1' id=depot_princ_".$i.">";


 
ou faut-il enlever le echo et passer directement en HTML?
 
qu'es qui est plus rapide?
 
PS: printf est-il plus rapide qu'echo , et plus conseillé?
 

mood
Publicité
Posté le 04-11-2003 à 09:49:36  profilanswer
 

n°558389
saxgard
Posté le 04-11-2003 à 10:00:33  profilanswer
 

es-ce trop lourd:
 

Code :
  1. echo " <td><select name='depot_princ[".$i."]' size='1' id=depot_princ_".$i.">";
  2. echo "<option value='' selected></option>";
  3. for($k=0;$k<$nb_depot;$k++)
  4.    if($row->depot_princ==$liste_depotprinc_local_final[$k])
  5.        echo "<option value='".$liste_depotprinc_local_final[$k]."' selected>". $liste_depotprinc_local_final[$k]."</option>";
  6.    else
  7.       echo "<option value='".$liste_depotprinc_local_final[$k]."' >". $liste_depotprinc_local_final[$k]."</option>";
  8.                    echo "</select></td>";


 
existe t'il une autre methode de remplir des menus deroulant? ;o)
 
Explication de ce bout de code:
1)en debut demon script je fait toutes les requetes necessaire qui permettront de remplir les menu deroulants  .
2) je stocke les valuers dans des tableaux.
3) Et en suite , je boucle sur le nombre d'element dans le tableaux et j'afiche chaque element du tableau dans le menu deroulant.
 
es-ce une mauvaise technique?
je fais ca pour eviter d'interroger les BdD x fois


Message édité par saxgard le 04-11-2003 à 10:02:19
n°558396
saxgard
Posté le 04-11-2003 à 10:18:49  profilanswer
 

je met 6s pour generer une page de 50 formulaires contennat chacun 60 champs  dont : 27 champs en menu deroulant  
 
ca me parait lent 6s
 
sinon 8s pour  75 formulaires  
 
j'ai l'impression quec l'affichage qui rame un peu etnon pas le traitement sur les bases de données mais bon
 
peut etre ca vient d ema facon d eremplir mes menus deroulants :/

n°558446
impulse
Posté le 04-11-2003 à 11:19:28  profilanswer
 

Perso j'utilise cette methode pour creer mes select =>
 

Code :
  1. function createSelect($cnx, $tableName, $selectName, $selectClass, $selectValue, $selectOption, $defaultValue) {
  2.    
  3.         // create query to find distinct values of $selectValue in $tableName
  4.         $query = "SELECT DISTINCT $selectValue, $selectOption FROM $tableName";
  5.        
  6.         // run the query on the DB
  7.         $result = @ mysql_query ($query, $cnx);
  8.         // retrieve all distinct values
  9.         while ($row = @ mysql_fetch_array($result)) $resultBuffer[$row[$selectValue]] = $row[$selectOption];
  10.         // start the select widget
  11.         echo "\n<select class=\"$selectClass\" name=\"$selectName\">";     
  12.        
  13.         // check for a default value
  14.         if (isset($defaultValue))
  15.         {
  16.             // yes, there's a default value specified
  17.             // check if the defaultValue is in the database values
  18.             foreach ($resultBuffer as $value => $option)           
  19.                 if ($option == $defaultValue)
  20.                     // yes, show as selected
  21.                     echo "\n\t<option value=\"$value\" selected>$option</option>";
  22.                 else
  23.                     // no, just show as an option
  24.                     echo "\n\t<option value=\"$value\">$option</option>";
  25.         }
  26.         else
  27.         {
  28.             // no defaultValue
  29.             // show database values as options
  30.             foreach ($resultBuffer as $value => $option)           
  31.                 echo "\n\t<option value=\"$value\">$option</option>";
  32.         }
  33.        
  34.         echo "\n</select>";
  35.    
  36.     }


 
Ceci dit, la rapidité d'execution n'est pas vraiment ma principale preoccupation.


Message édité par impulse le 04-11-2003 à 11:21:50
n°558493
saxgard
Posté le 04-11-2003 à 12:17:12  profilanswer
 

impulse a écrit :

Perso j'utilise cette methode pour creer mes select =>
 

Code :
  1. function createSelect($cnx, $tableName, $selectName, $selectClass, $selectValue, $selectOption, $defaultValue) {
  2.    
  3.         // create query to find distinct values of $selectValue in $tableName
  4.         $query = "SELECT DISTINCT $selectValue, $selectOption FROM $tableName";
  5.        
  6.         // run the query on the DB
  7.         $result = @ mysql_query ($query, $cnx);
  8.         // retrieve all distinct values
  9.         while ($row = @ mysql_fetch_array($result)) $resultBuffer[$row[$selectValue]] = $row[$selectOption];
  10.         // start the select widget
  11.         echo "\n<select class=\"$selectClass\" name=\"$selectName\">";     
  12.        
  13.         // check for a default value
  14.         if (isset($defaultValue))
  15.         {
  16.             // yes, there's a default value specified
  17.             // check if the defaultValue is in the database values
  18.             foreach ($resultBuffer as $value => $option)           
  19.                 if ($option == $defaultValue)
  20.                     // yes, show as selected
  21.                     echo "\n\t<option value=\"$value\" selected>$option</option>";
  22.                 else
  23.                     // no, just show as an option
  24.                     echo "\n\t<option value=\"$value\">$option</option>";
  25.         }
  26.         else
  27.         {
  28.             // no defaultValue
  29.             // show database values as options
  30.             foreach ($resultBuffer as $value => $option)           
  31.                 echo "\n\t<option value=\"$value\">$option</option>";
  32.         }
  33.        
  34.         echo "\n</select>";
  35.    
  36.     }


 
Ceci dit, la rapidité d'execution n'est pas vraiment ma principale preoccupation.


 
je te remercie , mais la je voix que tu fais un traitement et tu rempli ton select directementavce les sorties de la BdD et tu fais a peu pres le meme travail que moi  :(
enfin il me semble

n°558601
gizmo
Posté le 04-11-2003 à 14:08:54  profilanswer
 

Saxgard a écrit :

vaut-il meiux faire :
 

Code :
  1. echo " <td><select name='depot_princ[".$i."]' size='1' id=depot_princ_".$i.">";


 
ou faut-il enlever le echo et passer directement en HTML?
 
qu'es qui est plus rapide?
 
PS: printf est-il plus rapide qu'echo , et plus conseillé?
 
 


Le HTML est plus rapide. Et si tu dois passer au php, utilise un maximum les single quote plutôt que les double

n°558606
saxgard
Posté le 04-11-2003 à 14:14:13  profilanswer
 

gizmo a écrit :


Le HTML est plus rapide. Et si tu dois passer au php, utilise un maximum les single quote plutôt que les double


 
elle donnerai quoi alors ma ligne version HTML et/ou avce les quotes?  :)
 

Code :
  1. <td><select name='depot_princ[<?=$i?>]?>' size='1' id=depot_princ_<?=$i?>></td>


 
ca donne ca   ?        
               
   


Message édité par saxgard le 04-11-2003 à 14:15:53
n°558675
Mr yvele
yvele n'est plus.
Posté le 04-11-2003 à 14:45:11  profilanswer
 

gizmo a écrit :


utilise un maximum les single quote plutôt que les double


 
+1 :jap:


---------------
yvele n'est plus.
n°558688
impulse
Posté le 04-11-2003 à 14:50:43  profilanswer
 

Citation :

utilise un maximum les single quote plutôt que les double


 
Pour quelle raison?

n°558696
Mr yvele
yvele n'est plus.
Posté le 04-11-2003 à 14:54:54  profilanswer
 

impulse a écrit :

Citation :

utilise un maximum les single quote plutôt que les double


 
Pour quelle raison?


 
les chaines en doubles quotes sont traités par php, alors que les chaine en simple quotes ne le sont pas.. :)  
 
dans les chaines en doubles quote tu peux mettre des variables.. genre "blablabla $a blablabla" qui va etre equivalent à "blablabla ".$a." blablabla" , ce qui necessite donc un traitement special de la chaine, afin de trouver d'eventuelles variables (tu peux aussi mettre des expression dans tes chaines grace à {..} )
alors que les simple quotes gère les chaines plus simplement (donc plus rapidemment)


---------------
yvele n'est plus.
mood
Publicité
Posté le 04-11-2003 à 14:54:54  profilanswer
 

n°558716
impulse
Posté le 04-11-2003 à 15:29:53  profilanswer
 

Citation :

les chaines en doubles quotes sont traités par php, alors que les chaine en simple quotes ne le sont pas..    
 
dans les chaines en doubles quote tu peux mettre des variables.. genre "blablabla $a blablabla" qui va etre equivalent à "blablabla ".$a." blablabla" , ce qui necessite donc un traitement special de la chaine, afin de trouver d'eventuelles variables (tu peux aussi mettre des expression dans tes chaines grace à {..} )
alors que les simple quotes gère les chaines plus simplement (donc plus rapidemment)


 
Ah oui c'est vrai, j'avais deja vu ça quelque part. Je garde mes double quotes moi, j'aime bien pouvoir ecrire les variables directement dans mes chaines. :)


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

  faut-il mieux utiliser les "echo" ou l'HTML?

 

Sujets relatifs
[html] envoyer un formulaire avec un lien et non un input submit ??centrer un tableau en html
[C++] Enregistrer une page HTMLXML: quels sont les caractères que l'on ne peut pas utiliser?
[VB] insérer une table access dans un document html[HTML] Opacité de l'Area d'une map (image)
[HTML] Supprimer une double bordure[php/html] Obtenir le code d'un caractère. [Normalement résolu merci]
[html/css] question pour un tableau![EXCEL] Comment utiliser une macro en tant que fonction d'excel ??
Plus de sujets relatifs à : faut-il mieux utiliser les "echo" ou l'HTML?


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