Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-05-2007 10:49:46

ami
Membre
Lieu: Nantes
Date d'inscription: 28-03-2007
Messages: 45
Site web

[Résolu] Colonnes d'un rowset

Bonjour,

Je cherche a extraire le nombre de colonnes et leur noms (ou 'key') a partir d'un Rowset, mais je ne trouve pas de méthode qui permet cette opération. Avez vous des pistes à me proposer ?

Code:

$myRowset  = $myDbAdapter->fetchAll( $mySql, null );    
count( $myRowset  ) ; // compte le nombre de rows
// Mais comment compter le nombre de colonnes et le nom de chaque colonne ?

Cordialement
Alban

Dernière modification par ami (01-06-2007 11:35:38)

Hors ligne

 

#2 29-05-2007 19:07:35

KevinD
Membre
Lieu: Valenciennes
Date d'inscription: 11-05-2007
Messages: 10
Site web

Re: [Résolu] Colonnes d'un rowset

Hello,

je ne sais pas si c'est conseillé, mais tu peux faire ca :

Code:

$myRowset = $myDbAdapter->fetchAll($mySql, null);
$table = $myRowset->getTable()->info();
$cols = $table['cols'];

et normalement tu retrouvera tes colonnes sous forme de tableau dans $cols

sinon tu peux aussi aller voir du côté de Zend_Db_Adapter_Abstract::describeTable()

bonne chance wink
Kévin D.


...

Hors ligne

 

#3 30-05-2007 11:59:30

ami
Membre
Lieu: Nantes
Date d'inscription: 28-03-2007
Messages: 45
Site web

Re: [Résolu] Colonnes d'un rowset

Merci Kevin, mais ceci ne répond pas mon besoin car ma requête SQL est le résultat entre plusieurs tables, avec des colonnes SUM(table1.col1), AVG(table2.colY) qui ne sont pas présente dans les tables.

Je n'ai pas encore trouvé de solution à mon problème.

Ami

Hors ligne

 

#4 30-05-2007 12:11:52

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Résolu] Colonnes d'un rowset

hum... si je ne m'abuse c'est un tableau de tableaux associatifs... Tu dois pouvoir faire :

Code:

$myRowset  = $myDbAdapter->fetchAll( $mySql, null );
foreach ($myRowset as $row) {
echo count($row)."\n";
}

Là pour chaque ligne, tu as le nombre de colonnes.
Dis nous si ça marche, je n'ai pas testé...


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 30-05-2007 18:38:32

KevinD
Membre
Lieu: Valenciennes
Date d'inscription: 11-05-2007
Messages: 10
Site web

Re: [Résolu] Colonnes d'un rowset

effectivement, le rowset est un tableau de tableau associatif ...
d'où :

Code:

$myRowset = $myDbAdapter->fetchAll( $mySql, null );
$cols = array_keys($myRowset[0]);

et normalement tu devrai récupérer un tableau contenant tes colonnes !


...

Hors ligne

 

#6 01-06-2007 11:35:23

ami
Membre
Lieu: Nantes
Date d'inscription: 28-03-2007
Messages: 45
Site web

Re: [Résolu] Colonnes d'un rowset

Cela fonctionne !
Merci pour votre aide.
Ami

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages