Back to top

Autore Topic: Lettura nome colonne query  (Letto 3248 volte)

Offline estevan

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Lettura nome colonne query
« il: 10 Gen 2011, 16:54:03 »
ciao,

ho la necessità di leggere il nome delle colonne che vengono ritornate da una query
qualcuno sa come fare?

il mio obiettivo è quello di costruire una mappa(chiave, valore) dove la chiave è il nome della colonna e il valore il campo letto. Ovviamente non so a priori il valore della chiave.

grazie mille a chi mi aiuterà
estevan

mau_develop

  • Visitatore
Re:Lettura nome colonne query
« Risposta #1 il: 10 Gen 2011, 20:00:44 »

Offline estevan

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Re:Lettura nome colonne query
« Risposta #2 il: 11 Gen 2011, 09:31:43 »
ciao,

questa soluzione la conoscervo già. Ma qui si riferisce alla tabella e non ad una query.
Ad esempio nella query io potrei avere un join con piu tabelle  e non considerare tutti i campi....

deduco che non ci sia modo.... :(

mau_develop

  • Visitatore
Re:Lettura nome colonne query
« Risposta #3 il: 11 Gen 2011, 10:11:14 »
Ma qui si riferisce alla tabella e non ad una query
------------------------------------------------------------------
no, si riferisce ad una query su una tabella, come la totalità delle query.

nella query io potrei avere un join con piu tabelle
-------------------------------------------------------------------
... quindi conosci già il nome delle colonne ...altrimenti come fai a fare una join?

M.

Offline estevan

  • Nuovo arrivato
  • *
  • Post: 20
    • Mostra profilo
Re:Lettura nome colonne query
« Risposta #4 il: 11 Gen 2011, 11:19:59 »
diciamo che sto realizzando un metodo che scrive in una mappa (key, value) la coppia nome colonna -> valore.

Ma la query mi viene passata come parametro, io la eseguo e poi faccio il loop tra i metadata.
Forse la soluzione della jtable va bene quando la query coincide con select * from tabella where.....

ma se io avessi select a.*, b.* from a inner join b on a.id = b.id come faccio a prelevare i campi?
con i metodi della jtable funzioan?
anche x' ho visto che come parametri gli passo il nome della table e non la query

ciao estevan

mau_develop

  • Visitatore
Re:Lettura nome colonne query
« Risposta #5 il: 11 Gen 2011, 15:35:17 »
indipendentemente da come fai, se sviluppando usi il CRUD di joomla ti trovi per forza ad avere un estensione della classe JTable (magari guarda un comp di J che ce l'abbia) , in quella classe sono indicate tutte le colonne della tabella.

Quello che vuoi fare non sarebbe difficile se ad esempio i campi diventassero un'array (molto probabile ma nn so), l'indice dell'array sarebbe il tuo a,b,c piuttosto che 1,2,3 di cui ne conosci il valore.

M.

mmmhh ...forse nn sono stato molto chiaro... :)

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Lettura nome colonne query
« Risposta #6 il: 11 Gen 2011, 23:49:55 »
io userei JTable su una view, ma ho qualche dubbio che la userei su una query diretta. comunque praticamente tutti i metodi della classe JDatabase restituiscono un array associativo od un array di oggetti (di uso abbastanza simile).

Codice: [Seleziona]
$db =& JFactory::getDBO();
$db->setQuery( 'SELECT ...');
foreach( $db->loadObjectList() as $r){
  $valore =  $r->nomeCampo;
}

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif