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 :

Optimiser le code


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut Optimiser le code
    Bonjour,

    Mon code ca marche bien mais j'aimerais bien les optimiser un peu plus...
    Est ce que vous avez des idées pour l'alléger un peu plus ?

    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
    <?php
    	//recuperation des donnes - formulaire - input - post
     
    	$var_ville = isset($_POST["ville"]) ? trim($_POST["ville"]) : '';
     
    	$var_nom = isset($_POST["nom"]) ? trim(	$_POST["nom"]) : '';
     
    	$var_prenom = isset($_POST["prenom"]) ? trim(	$_POST["prenom"]) : '';
     
    	$var_pays = isset($_POST["pays"]) ? trim($_POST["pays"]) : '';
     
     
    	 // fonction  preg_replace
             // replacer [;] par [.,]
             // remplacer [\r\n] par [--->]
             //[\r\n] dans excel, c'est un saut à la ligne
     
    			$tb_tableau_nettoyage = array();
    			$tb_tableau_nettoyage[0] = '/;/';
    			$tb_tableau_nettoyage[1] = '/\r\n/';
     
    			$tb_tableau_replacer = array();
    			$tb_tableau_replacer[0] = '.,';
    			$tb_tableau_replacer[1] = '--->';
     
    	$var_ville = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $var_ville);
    		$var_nom = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $var_nom);
    			$var_prenom = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $var_prenom);
    				$var_pays = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $var_pays);
     
     
    	         //ecriture fichier csv
             fputs($ouvrir_FD, utf8_decode($var_ville).';'.utf8_decode($var_nom).';'.utf8_decode($var_prenom).';'.utf8_decode($var_pays).';'."\n");			
     
     
    ?>
    Merci et bonne journée

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux définir une fonction qui reprend tous tes traitements.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut
    Salut sabotage,

    Je me demande comment je peux définir une fonction qui reprend tous tes traitements.

    Tu pourrais me donner une indice ?

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ba une fonction quoi :
    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
    <?php
     
    function nettoyage($chaine) {
     
    $var ="";
     
        if (isset($_POST[$var])) {
     
                {
    			$tb_tableau_nettoyage[0] = '/;/';
    			$tb_tableau_nettoyage[1] = '/\r\n/';
    			$tb_tableau_replacer[0] = '.,';
    			$tb_tableau_replacer[1] = '--->';
     
    	                $var = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $_POST[$var]);
     
                            $var = utf8_decode($var);
     
             }
     
          return $var; 
    }
     
    fputs($ouvrir_FD, nettoyage('ville').';'.nettoyage('nom').';'.nettoyage('prenom').';'.nettoyage('pays')."\n");	
     
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut
    Salut sabotage,

    Suite ton exemple, j'ai fait une fonction...

    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
    function nettoyage($chaine) {
     
                        $var_fonction_nettoyage ="";
     
                            if (isset($_POST[$var_fonction_nettoyage])) {
     
                                    {
                                    $tb_tableau_nettoyage = array();
                                    $tb_tableau_nettoyage[0] = '/;/';
                                    $tb_tableau_nettoyage[1] = '/\r\n/';
     
                                    $tb_tableau_replacer = array();
                                    $tb_tableau_replacer[0] = '.,';
                                    $tb_tableau_replacer[1] = '--->';
     
                                            $var_fonction_nettoyage = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $_POST[$var_fonction_nettoyage]);
     
                                                $var_fonction_nettoyage = utf8_decode($var_fonction_nettoyage);
     
                                   }
     
                              return $var_fonction_nettoyage;
                                                                        }
     
                                                }
    fputs($ouvrir_FD, utf8_decode($var_date).';'.nettoyage($var_votre_nom).';'.nettoyage($var_nom_enfant).';'.nettoyage($var_adresse).';'.nettoyage($var_ville).';'.utf8_decode($var_province).';'.utf8_decode($var_code_postal).';'."\n");

    Mais je n’arrive pas… Dans les fichiers CSV; les colonnes (ceux que j’ai appliqué la fonction « nettoyage ») sont vides, sans valeur…
    Alors à votre avis, comment je peux alléger mon code? ? Je vais surtout faire cela pour apprendre pas pour la vitesse.

    Merci

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Desolé il y avait un mic mac dans mon exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function nettoyage($chaine) {
                         $var_fonction_nettoyage ="";
                         if (isset($_POST[$chaine])) {
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 09h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 11h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 15h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 12h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 11h59

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