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 :

Amélioration de code


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut Amélioration de code
    Bonjour je voudrais améliorer mon code car j'utilise un switch case et je pense que l'on peut regrouper les deux sans problème car quand je dois faire un changement je dois le faire deux fois !!
    Quelle est la solution ??
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
    switch ($_GET['choix'])
    {
    case '1' :
    // La requête sql pour récupérer les messages de la page actuelle.
    $retour_messages=mysql_query('SELECT * FROM gamme ');
     
     
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
    $libelle = $donnees_messages['libelle_gamme'];
     
    //Affichage du contenu
    echo '<a href="produits.php?id=' . $libelle . '&choix=1"><img src="Images/img_site/'.stripslashes($donnees_messages['photo_gamme']).'.gif" width="680"></a><br /><br />
    '; 
    }
    break;
    //---------------------------------------------------------------------------------------------------------------------------------// 
    case '2' :
    // La requête sql pour récupérer les messages de la page actuelle.
    $retour_messages=mysql_query('SELECT * FROM famille');
     
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
    $libelle = $donnees_messages['libelle_famille'];
     
    //Affichage du contenu
    echo '<table border="1">
    <tr align="center">
    <td width="200"><a href="produits.php?id=' . $libelle . '&choix=2">'.stripslashes($donnees_messages['libelle_famille']).'</a></td>
    <td width="200"><a href="produits.php?id=' . $libelle . '&choix=2"><img src="Images/produit/'.stripslashes($donnees_messages['photo_famille']).'.gif" width="35px"></a></td>
    </tr>'; 
    }
    echo '</table>';
    break;
    }
     
    include 'footer.php';
    ?>

  2. #2
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    Salut,

    Est ce que cela irai ? :

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?php
     
    $choix = (int) $_GET['choix'];
     
    switch ($choix) {
        case 1:
            $retour_messages = 'gamme';
            $libelle         = 'libelle_gamme';
            $photo           = 'photo_gamme';
            $fragment        = '<a href="produits.php?id=%s&choix=1">
            		              <img src="Images/img_site/%s.gif" width="680">
            		            </a><br /><br />';
          break;
        case 2:
            $retour_messages = 'famille';
            $libelle         = 'libelle_famille';
            $photo           = 'photo_famille';
            $fragment        = '<table border="1">
                                  <tr align="center">
                                    <td width="200">
                                      <a href="produits.php?id=%s&choix=2">%s</a>
                                    </td>
                                    <td width="200">
                                      <a href="produits.php?id=%s&choix=2">
                                        <img src="Images/produit/%s.gif" width="35px">
                                      </a>
                                    </td>
                                  </tr>
                                </table>';
          break;
    }
     
    $retour_messages = mysql_query('SELECT * FROM ' . $retour_messages . ' ');
     
    while ($donnees_messages = mysql_fetch_assoc($retour_messages)) {
        $libelle = stripslashes($donnees_messages[$libelle]);
        $photo   = stripslashes($donnees_messages[$photo]);
     
        switch ($choix) {
            case 1:
                printf($fragment,$libelle,$photo);
              break;
            case 2:
                printf($fragment,$libelle,$libelle,$libelle,$photo);
              break;
        }
    }
     
    include 'footer.php';
     
    ?>

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut
    On peut pas faire mieux ?

  4. #4
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    Tu ne peux factorisé que ce qui est identique. Si tu regardes bien, tu remarqueras que tu peux encore factorisé au niveau des fragments HTML...

Discussions similaires

  1. Amélioration du code de l'envoi d'une feuille par mail via LotusNotes
    Par alex830001 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 03/11/2008, 14h39
  2. Optimisations et Améliorations de code
    Par womannosky dans le forum Langage
    Réponses: 19
    Dernier message: 02/07/2008, 15h05
  3. [Optimisation]Peut-on améliorer ce code ?
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 09/08/2007, 15h43
  4. [Tableaux] Amélioration de code (if)
    Par Sir Tengu dans le forum Langage
    Réponses: 3
    Dernier message: 24/12/2006, 00h26
  5. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 20h13

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