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 :

[Tableaux] Optimisation de boucles


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Points : 69
    Points
    69
    Par défaut [Tableaux] Optimisation de boucles
    Bonjours,

    Comme indiqué dans le titre je cherche à optimise une boucle voilà ce que je fait (je sais il y a mieux, plus simple, et plus rapide, mais pour celà il faut maîtriser son sujet et ce n'est pas encore le cas pour moi ) Voilà ce que j'ai fait :

    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
     
    for( $i = 0; $i < 12; $i++){	
        switch($i){
          case 0:
            echo "<optgroup label=\"0 - Usuels\">";
               $interro = mysql_query("SELECT * FROM classification"); 
               while($resultat = mysql_fetch_array($interro)) {
                   $groupe_Class = $resultat['groupe'];
                   $valeur_Class = $resultat['valeur'];
                   $Liste_Class = $resultat['Liste'];
               If ($groupe_Class==0) {
                   echo "<option value=\"".htmlentities($valeur_Class)."\">".htmlentities($Liste_Class)."</option>";
        }
    }
        break;
    ... et ainsi de suite jusqu'à case 9:
    Ouais pas jolie hein !!!
    Le code fonctionne mais je suis certain qu'il y a mieux. Si vous avez une suggestion je suis preneur.
    Merci

  2. #2
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    bonjour

    pourquoi boucler jusqu'à 12 si tu fais des case jusqu'à 9 ?

    voici une solution possible (pas forcément tout juste du 1er coup, je fais ça rapide) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $optgroupsLabels = array('0 - Usuels', ...);
    for ($i = 0; $i < 10; $i++) {
      echo '<optgroup label="' . $optgroupsLabels[0] . '">';
      $interro = mysql_query("SELECT * FROM classification WHERE `groupe`=$i");
      while ($resultat = mysql_fetch_assoc($interro)) {
        echo '<option value="' . htmlentities($resultat['valeur']) . '">' . htmlentities($resultat['Liste']) . '</option>';
      }
      echo '</optgroup>';
    }

  3. #3
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Points : 69
    Points
    69
    Par défaut
    bonjour Dia_FR et merci pour ta réponse,

    pour répondre à ta question :
    pourquoi boucler jusqu'à 12 si tu fais des case jusqu'à 9 ?

    parceque lorsque que je mettais un chiffre inférieur à 12 je n'avais pas l'affichage de l'intégralité des "<option>" tout simplement.

    je viens de tester ton code qui fonctionne très bien sauf pour l'affichage des <optgroup> qui reprend à chaque fois la première ligne du tableau (array). je cherche la solution

  4. #4
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2005
    Messages : 75
    Points : 69
    Points
    69
    Par défaut
    voilà je viens de modifier cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<optgroup label="' . $optgroupsLabels[0] . '">';
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<optgroup label="' . $optgroupsLabels[$i] . '">';
    ce code fonctionne impéccablement merci encore DIA_FR

  5. #5
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    erreur d'inattention

    de rien

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

Discussions similaires

  1. [Tableaux] Probléme de boucle !!
    Par Shandler dans le forum Langage
    Réponses: 4
    Dernier message: 26/02/2006, 18h16
  2. [Tableaux] Optimisation
    Par marcha dans le forum Langage
    Réponses: 27
    Dernier message: 28/01/2006, 23h00
  3. Réponses: 4
    Dernier message: 17/01/2006, 19h17
  4. Réponses: 3
    Dernier message: 11/01/2006, 17h44
  5. [Tableaux] Problème avec boucle
    Par MYster dans le forum Langage
    Réponses: 6
    Dernier message: 11/11/2005, 18h39

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