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 :

Simplifier les requêtes


Sujet :

Langage PHP

  1. #1
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut Simplifier les requêtes
    Bonjour à tous,

    Je voulais savoir s'il existait une méthode pour simplifier du code php, notamment dans le traitement des variables type ereg_replace, qui reviennent plusieurs fois dans une même page.
    Je vous donne un exemple de code (on l'imagine placé après une requête sql classique et récupération de la variable $variable) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		$variable= strtolower($variable); 
    		$variable= ereg_replace("[,:()]", "", $variable); 
    		$variable= ereg_replace(" ", "-", $variable); 
    		$variable= ereg_replace("'", "-", $variable);
    		$variable= ereg_replace("ç", "c", $variable); 
    		$variable= ereg_replace("[éèëêÉÊ]", "e", $variable); 
    		$variable= ereg_replace("à", "a", $variable); 
    		$variable= ereg_replace("[ïî]", "i", $variable);
    		$variable= ereg_replace("[û]", "u", $variable);
    		$variable= ereg_replace("[ôö]", "o", $variable);
    		$variable= rtrim($variable, "[?!-]");
    Doit-on obligatoirement dupliquer ces fonctions sur toutes les requêtes de la page ? Merci de vos lumières.

  2. #2
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    tu peux créer une fonction que tu mets dans un fichier a part, tu inclut ce fichier dans chaque page ou tu en a besoin et tu appelle la fonction comme bon te semble

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    concrêtement :

    en haut de la page, ou dans un fichier à part (appelé en include en haut de la page) :
    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
    <?php
    function modifchaine($chaine) {
       $chaine= strtolower($chaine); 
       $chaine= ereg_replace("[,:()]", "", $chaine); 
       $chaine= ereg_replace(" ", "-", $chaine); 
       $chaine= ereg_replace("'", "-", $chaine);
       $chaine= ereg_replace("ç", "c", $chaine); 
       $chaine= ereg_replace("[éèëê]", "e", $chaine); 
       $chaine= ereg_replace("[âäà]", "a", $chaine); 
       $chaine= ereg_replace("[ïî]", "i", $chaine);
       $chaine= ereg_replace("[ûüù]", "u", $chaine);
       $chaine= ereg_replace("[ôö]", "o", $chaine);
       $chaine= rtrim($chaine, "[?!-]"); 
       return $chaine;
    }
    ?>
    Utilisation (à chaque fois que tu en as besoin) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $variable = modifchaine($variable);

  4. #4
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut
    Merci à vous deux, d'une part pour la piqûre de rappel concernant la création de fonction, d'autre part pour cet exemple qui va grandement m'aider. Je teste tout ça de ce pas, merci encore.

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Au passage, tu peux sans doute réunir plusieurs modifications en une seule fonction et éviter l'usage de ereg_replace qui est quand même assez gourmand en ressources...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function modifchaine($chaine) {
       $chaine= strtolower($chaine); 
       $chaine= str_replace(array(",", ":", "(", ")"), "", $chaine); 
       $chaine= str_replace(array(" ", "'"), "-", $chaine);
       $chaine= strtr($chaine, "ççéèëêâäàïîûüùôö", "ceeeeaaaiiuuuoo");
       $chaine= rtrim($chaine, "[?!-]"); 
       return $chaine;
    }

  6. #6
    Membre actif
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Points : 225
    Points
    225
    Par défaut
    Merci Celira pour cette astuce, ça simplifie en effet encore plus.

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

Discussions similaires

  1. [MySQL] Simplifier les requêtes
    Par Interface dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/08/2010, 18h21
  2. Simplifier les requêtes et trouver une interface commune
    Par LordClaymore dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/05/2007, 16h01
  3. Réponses: 5
    Dernier message: 16/08/2005, 12h15
  4. Réponses: 44
    Dernier message: 14/03/2005, 09h43
  5. Optimisations mysql sur les requêtes SELECT: index
    Par leo'z dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2003, 13h23

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