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

Zend_Db PHP Discussion :

Configuration fetch mode dans XML [ZF 1.10]


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut Configuration fetch mode dans XML
    Bonjour,

    je souhaite pas défaut avoir un retour des requetes PDO en objet. Il est possible de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $stmt = $db->query('SELECT * FROM table');
    $stmt->setFetchMode(Zend_Db::FETCH_OBJ);
    mais je suis obligé de le répéter pour chaque requête.
    Comme j'utilise un fichier de configuration XML je souhaite le placer dedans mais je ne sais pas où !!
    Il semblerait que se soit driver_options
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <host>127.0.0.1</host>
    <username>user</username>
    <password>motdepasse</password>
    <dbname>table</dbname>
    <options>?
        <driver>?
           <fetch>OBJ</fetch>?
        </driver>?
    </options>?
    Merci de votre aide

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Montre nous comment tu fais ta connexion à la db !

  3. #3
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Mon fichier de configuration
    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
    <?xml version="1.0"?> 
    <configdata> 
        <production>
         <database> 
            <adapter>Mysqli</adapter> 
            <params> 
                <host>127.0.0.1</host> 
                <dbname>base</dbname> 
                <username>user</username> 
                <password>motdepasse</password> 
                <charset>UTF8</charset> 
            </params> 
        </database> 
        </production>
    </configdata>
    Et ma requete ressemble à cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $db = Zend_Registry::get("db");    
    $db->setFetchMode(Zend_Db::FETCH_OBJ);
    $statement = $db->query('SELECT * FROM table');
    $rows = $statement->fetchAll();
    Merci

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Donc tes requêtes font partie d'une classe model, si tu respecte le MVC

    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
     
    class Model_Requete (){
     
    private $_db
     
    public function __construct(){
     
    $this->_db = Zend_Registry::get("db");    
    $this->_db->setFetchMode(Zend_Db::FETCH_OBJ);
     
    }
     
    public function uneRequete(){
    $sql = 'SELECT * FROM table';
    return $this->_db->fetchAll($sql);
    }
     
     
    }

  5. #5
    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
    pas sûr mais essayes comme 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
    <?xml version="1.0"?> 
    <configdata> 
        <production>
         <database> 
            <adapter>Mysqli</adapter> 
            <params> 
                <host>127.0.0.1</host> 
                <dbname>base</dbname> 
                <username>user</username> 
                <password>motdepasse</password> 
                <charset>UTF8</charset> 
                <options>
                     <fetchMode>5</fetchMode>
                </options>
            </params> 
        </database> 
        </production>
    </configdata>
    EDIT : du coup non ca marche pas
    dommage que ca soit pas implémenté dans les options

  6. #6
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Tout a fait MaitrePylos, j'ai épuré volontairement ma class pour éviter de prendre trop de place.

    En effet stealth35, chez moi non plus ca ne fonctionne pas. Mais pourquoi tu avais pensé mettre le fetchmode à 5 ?

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Pourquoi ne pas le faire au moment de l'initialisation de la dbn par exemple au moement où tu le met dans la registry.

    Par exemple je fais ceci dans mon Boostrap :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        protected function _initDb() {
            $pluginDb = $this->getPluginResource('db');
            $db = $pluginDb->getDbAdapter();
            $db->setFetchMode(Zend_Db::FETCH_OBJ);
            Zend_Registry::set('db', $db);
        }
    En même temps en explorant la classe , il y a une boucle sur driver_options

    donc ceci devrais fonctionner

    Code XML : 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
     
    <?xml version="1.0"?> 
    <configdata> 
        <production>
         <database> 
            <adapter>Mysqli</adapter> 
            <params> 
                <host>127.0.0.1</host> 
                <dbname>base</dbname> 
                <username>user</username> 
                <password>motdepasse</password> 
                <charset>UTF8</charset> 
                <driver_options>
                     <fetchMode>Zend_Db::FETCH_OBJ</fetchMode>
                </driver_options>
            </params> 
        </database> 
        </production>
    </configdata>

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/04/2011, 07h58
  2. [DTD] Tags Html dans XML ---> Etendre la dtd du Xhtml
    Par tipaquo dans le forum Valider
    Réponses: 14
    Dernier message: 19/07/2010, 09h09
  3. Configurer des paramétres dans le fichier server.xml
    Par root76 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 13/02/2007, 17h16
  4. [Configuration] Confusion de balises XML / PHP
    Par teto dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 10/09/2005, 13h40
  5. PHP dans XML ou XSL
    Par mathieu dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 31/08/2003, 21h07

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