Back to top

Autore Topic: query nel modulo non funziona  (Letto 2242 volte)

Offline mitchie

  • Nuovo arrivato
  • *
  • Post: 30
    • Mostra profilo
query nel modulo non funziona
« il: 24 Nov 2010, 23:54:12 »
Ciao a tutti,
sarà l'ora ma sono bloccato in un problema che trovo stupidissimo... ma tant'è, non riesco a trovare una soluzione.

In un modulo per J 1.5, di una banalità disarmante, tanto per testarne il funzionamento, ho inserito una query nell'helper all'interno di una funzione. Niente di che :
$query="SELECT * FROM #__components";
$db->setQuery( $query );

Non riesco però a listare più di una riga, in pratica mi lista solo l'ultima. Neanche cambiando tabella.
Ho eseguito dei controlli, sempre all'interno della funzione (!), quindi non c'è problema di passaggi di info o altro, se eseguo:
$db->query();
$num=$db->getNumRows();
$num restituisce 90, che sono esattamente le righe che ho nella tabella.
Se però eseguo
$rows = $db->loadObjectList( $query);
$num = count($rows);
$num restituisce 1 e infatti mi lista solo l'ultima riga della tabella.

Cosa mi sfugge? Le query nei moduli funzionano in modo diverso da come funzionano nei componenti?


Offline Piumy

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re:query nel modulo non funziona
« Risposta #1 il: 25 Nov 2010, 01:01:50 »
ti sfugge che in loadObjectList non gli devi passare la $query
gliel'hai già passata in setQuery

$rows = $db->loadObjectList();

ciao
« Ultima modifica: 25 Nov 2010, 01:09:07 da Piumy »

Offline mitchie

  • Nuovo arrivato
  • *
  • Post: 30
    • Mostra profilo
Re:query nel modulo non funziona
« Risposta #2 il: 25 Nov 2010, 13:20:12 »
...e mia moglie continuava a dire "ma ancora non vieni a letto?"... Dovevo darle retta!  :)
Grazie!

mau_develop

  • Visitatore
Re:query nel modulo non funziona
« Risposta #3 il: 25 Nov 2010, 18:35:12 »
$rows = $db->loadObjectList( $query);
$num = count($rows);
----------------------------------------------------
si può usare count() su una standard class?
loadobjectlist è un array di stdClass, per cui se fai count e hai un oggetto la lunghezza dell'array è 1

...ma magari dico stupidate io,nn ricordo e nn ho voglia di controllare...


M.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:query nel modulo non funziona
« Risposta #4 il: 30 Nov 2010, 21:55:23 »
loadObjectList restituisce un array quindi si può usare count, tuttavia se si passa un parametro questo deve essere la primary key della tabella... se no succedono cose strane  :D

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

 



Web Design Bolzano Kreatif