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 ce code


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2009
    Messages : 140
    Par défaut Optimiser ce code
    Bonjour,

    J'aimerais optimiser une fonction d'une de mes classe car je trouve qu'elle prend pas mal de temps.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // Transforme un resultSet en tableau associatif
    public function makeTab($result){
    	$arrRes = array();
     
    	$fonction = ($this->typeBase == "MySQL") ? "mysql_fetch_assoc" : "odbc_fetch_array";
     
    	if ($this->nbResultats($result) > 0){
    		while($res = $fonction($result)){				
    			array_push($arrRes , $res);
    		}
    	}
     
    	return $arrRes;
    }
    En fait, selon l'attribut "typeBase" , la fonction a utiliser est "mysql_fetch_assoc" ou "odbc_fetch_array".

    Je pense que le principal à optimiser est la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($res = $fonction($result))
    car à chaque passage dans la boucle on utilise la fonction, et j'imagine que c'est pas vraiment performant

    Vous auriez une idée pour optimiser ce code ?

    Bonne journée à tous

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    hello,
    array_push c'est pas fait pour insérer 1 valeur
    fait direct

    après t'as pas trop le choix, c'est comme ça que sa marche, utilise PDO sinon

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2009
    Messages : 140
    Par défaut
    Merci quand même ...

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par Xenon03 Voir le message
    Merci quand même ...
    t'as pas PDO ?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2010
    Messages : 17
    Par défaut
    c'est vrai qu'avec PDO, ce serai top

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
     return $res->fetchAll(PDO::FETCH_ASSOC);
    a++

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2009
    Messages : 140
    Par défaut
    En fait le soucis est que je me connecte à une base Hyperfile, et que je n'arrive pas à utiliser PDO pour ce type de base

    Normalement je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connect = odbc_connect($nomDriver,"","")
    Avec PDO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connect = new PDO('odbc:'.$nomDriver, '', '');
    Mais l'objet $connect est vide :
    renvoit PDO Object ( )

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, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

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