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

PHP & Base de données Discussion :

execute + Fetch + fetchAll => optimisation [PDO]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut execute + Fetch + fetchAll => optimisation
    Bonjour,

    En fait je souhaite obtenir en résultat d'un SELECT le nom des colonnes et les données qui s'en suit et ceux au travers de 2 fonctions bien distinctes.
    Actuellement j'ai ca :

    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
    function nomdecolonnes($result){
        $entete = array();
        $data = array();
        $arrayObj = new ArrayObject($data);
    
        foreach($result as $key=>$val)
        {
          array_push($entete,$key);
          array_push($data,$val);
        }
        $arrayObj->append($entete);
        $arrayObj->append($data);
        return $arrayObj;
    }
    
    function donnees($result, $arrayObj){
    
        foreach($result as $key=>$val)
        {
            $arrayObj->append($val);
        }
        return $arrayObj;
    }
    
    function query_cl($zone, $equipement)
    {
        $coderegion = self::$coderegion;
        $array = array();
        $arrayObj = new ArrayObject($array);
    
        $sql = 'Select EqtNom from vListeEquipementsInfo
            WHERE CodeRegion= ? AND Zone= ? AND EqtNom LIKE ?';
        
        $select= self::$connexion->prepare($sql);
        $equipement = '%'.$equipement.'%';
        $select->execute(array($coderegion,$zone,$equipement));
    
        $result = $select->fetch(PDO::FETCH_OBJ);
        $arrayObj = nomdecolonnes($result);
     
        $result = $select->fetchAll(PDO::FETCH_OBJ);
        $arrayObj = donnees($result, $arrayObj);
    
        return $arrayObj;
    }
    Comme on peut le voir je suis obligé de récupérer une partie des données dans ma fonction de nomdecolonnes. ( ceci a cause du fetchAll qui commence à récupérer les données après la 1er ligne ( récupérée par le fetch)).
    Comment essayer de jouer sur les fetch ou ailleur pour résoudre ce petit désagrément.

    merci

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Fais ta recuperation des noms de colonnes sur le premier element de ton fetchAll.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $result = $select->fetchAll(PDO::FETCH_OBJ);
    $colonnes = nomdecolonnes($result[0]);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Hoo mais non honte à moi, un truc aussi simple.. xD
    Merci bien, un problème de réglé.

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

Discussions similaires

  1. Optimiser taille d'un executable
    Par ced00 dans le forum Delphi
    Réponses: 17
    Dernier message: 07/10/2006, 09h07
  2. Optimisation de l'execution de Java en Base
    Par Wurlitzer dans le forum Oracle
    Réponses: 2
    Dernier message: 16/05/2006, 08h51
  3. Réponses: 14
    Dernier message: 12/05/2006, 08h20
  4. resolution d'image et optimisation de l'execution
    Par navona dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/11/2005, 20h10
  5. Optimiser la vistesse d'execution
    Par minimoi1234 dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/03/2005, 11h45

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