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 :

Zend_Db et Zend_Json


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2007
    Messages : 46
    Par défaut Zend_Db et Zend_Json
    Salut à tous je viens de me mettre au Zend et j'ai pris la peine de lire pas mal de doc avant de me retrouver ici.

    Le probleme est assez simple, j'ai ce bout de code :

    class Seter extends Zend_Db_Table{

    protected $_name = 'data_center';
    protected $_primary = 'idDc';

    public function serter(){
    return $this->fetchAll();
    }

    }

    j'aimerais retourner ce code non pas en fetchAll mais formaté en Json pour n'avoir que les valeurs de la table. mais j'y arrive pas.
    Quelqu'un aurait une idée ?

    Merci et A+

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Par défaut
    Citation Envoyé par malayika Voir le message
    Salut à tous je viens de me mettre au Zend et j'ai pris la peine de lire pas mal de doc avant de me retrouver ici.

    Le probleme est assez simple, j'ai ce bout de code :

    class Seter extends Zend_Db_Table{

    protected $_name = 'data_center';
    protected $_primary = 'idDc';

    public function serter(){
    return $this->fetchAll();
    }

    }

    j'aimerais retourner ce code non pas en fetchAll mais formaté en Json pour n'avoir que les valeurs de la table. mais j'y arrive pas.
    Quelqu'un aurait une idée ?

    Merci et A+
    Bonsoir !

    J'ai bien une idée, mais elle est tellement con que je pense pas que ca soit ce que tu veux :/ Tu encode directement tout en JSON
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return Zend_Json :: encode( $this -> fetchAll( ) );
    Sinon, si tu ne veux vraiment que les valeurs, encodées en JSON :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $list = $this -> fetchAll( );
    $values = Array( );
    foreach( $list As $element )
      $values[ $element -> $this -> _primary ] = $element -> _data;
    return Zend_JSon :: encode( $this -> values );
    En espérant que ca soit la solution à ton problème !

    Bonne chance !

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2007
    Messages : 46
    Par défaut
    bizarre mais ta deuxieme méthode ne marche pas.
    par contre la premiere marche à moitié. car pour avoir le truc Json sans toutefois avoir tout le tableau, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $values = $this->fetchAll()->toArray();
    ensuite j'encode en Json :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return Zend_Json::encode($values);
    Là ca marche.

    Oui mais vu qu'un probleme en appelle un autre je me retrouve bloqué lorsque je fait cette instruction sur plusieurs tables, j'arrive pas à concatener le table de resultats comme il faut, j'ai mis un foreach comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $registry = Zend_Registry::getInstance();
    			$db = $registry['database'];
     
    			$base = $db->select();
    			foreach($table as $champ => $valeur){
    				$base->from($this->_name, '*')
    					->where($champ.' = ?', (string)$valeur)
    					->order($sortField)
    					->limit($pagination, $currentItem);				
     
    				$value = $db->fetchAll($base);
     
    			}
    mais ca marche pas. quelqu'un n'aurait pas une idée pour avoir des resultats Json de plusieurs requetes différentes sur une même table dans un même tableau ?

    Merci encore et A+

  4. #4
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Par défaut
    Citation Envoyé par malayika Voir le message
    mais ca marche pas. quelqu'un n'aurait pas une idée pour avoir des resultats Json de plusieurs requetes différentes sur une même table dans un même tableau ?

    Merci encore et A+
    self :: $brain -> __destruct( ); ;_;

    Donc, en gros, tu veux :
    -> Faire de 1 à x requètes differentes, chacune te renvoyant un Rowset
    -> mettre tout ca dans un immense tableau
    -> envoyer tout ca à un script AJAJ
    Ai-je bien résumé ?

    Je sais pas exactement ce que fais le rowset -> toArray( ), donc je peux pas vraiment t'aider, mais, si il renvoie un tableau de tableau ( ce que je pense ) :
    dans un foreach :
    -> tu fais ta requete
    -> tu converti le résultat en tableau
    -> tu concat ton nouveau résultat à un tableau de tous les résultats grace à array_merge( $tableau_global, $nouvelles_entree );

    une fois le foreach fini,
    -> encodage en JSON
    -> fini

    A moins que j'ai pas tout compris .. donne des nouvelles !
    Bonne chance !

Discussions similaires

  1. Zend_Db et /models/
    Par Yoshio dans le forum Zend_Db
    Réponses: 3
    Dernier message: 26/08/2007, 16h06
  2. [Oracle] php5.2/zend_db - Oracle Xmldb
    Par jacquesh dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/06/2007, 23h26
  3. Réponses: 1
    Dernier message: 21/05/2007, 09h53
  4. Zend_Db et la casse
    Par Reveur dans le forum Zend_Db
    Réponses: 4
    Dernier message: 20/04/2007, 11h10
  5. Réponses: 2
    Dernier message: 28/02/2007, 13h13

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