Joomla.it Forum

Non solo Joomla... => Sviluppo => : future 02 Sep 2009, 20:55:06

: aggiungere array a singola posizione in array[RISOLTO]
: future 02 Sep 2009, 20:55:06
ciao avevo avviato la discussione sulla sezione template ma effettivamente li era un altro il problema...in pratica qual č il problema:
faccio una select sul db e mi faccio restituire id,title e fid da una tabella

SELECT name, id, fid FROM #__ckfields WHERE fid= '. $listaId[$i]->id.' and is_editable_statistics=1'

cio mi dovrebbe restitutire una serie di array da posizionare a loro volta in un array

$campi = $this->_getList($query);

ma cio non avviene: mi carica il primo ma gia dalla seconda pos non mi carica piu niente.questa č la function:

function getCampi()
   {
      $listaId = $this->getData();
      $n=count($listaId);
      $res = array();
      $result = array();
      for($i=0;$i<$n;$i++)
      {
         $query = 'SELECT name, id, fid FROM #__ckfields WHERE fid= '. $listaId[$i]->id.' and is_editable_statistics=1';
         $campi = $this->_getList($query);
      }
         
         foreach($campi as &$value){
            $result[] = $campi;
         }
         array_push($res,$result);
         
         
         //$namefield[] = $result;
            
      
      return $this->_namefield;
   }

spero di essere stato chiaro...se qualcuno puo darmi una mano perche ci sto sbattendo la testa da 3 giorni e non riesco a capire dove sta lo sbaglio.ciao e grazie

 
: Re:aggiungere array a singola posizione in array
: = odino = 03 Sep 2009, 17:53:57
Usa le API:

:
// dopo aver preparato e lanciato la query con setQuery

$myResults = loadObjectList($oggetto_della_query);

Dopo l'oggetto $myResult conterrā gli array ai quali vuoi accedere
: Re:aggiungere array a singola posizione in array
: future 03 Sep 2009, 18:12:14
ciao odino...
mi stai dicendo di dichiarare una var $query=setQuery($query) e chiamare il metodo loadObjectList($query)...cio mi dovrebbe restituire

array[0][array[16]]
array[1][array[15]]
array[2][array[23]]
 
e cosi via...cioe alla posizione
: Re:aggiungere array a singola posizione in array
: = odino = 03 Sep 2009, 18:59:48
Guarda la documentazione di joomla.org, stai utilizzando una variabile tu, mentre devi utilizzare un oggetto
: Re:aggiungere array a singola posizione in array[RISOLTO]
: future 04 Sep 2009, 18:53:54
posto il codice
:
function getCampi()
{
$listaId = $this->getData();
$n=count($listaId);
$db =& JFactory::getDBO();
for($i=0;$i<$n;$i++)
{
$query = 'SELECT name, id, fid FROM #__ckfields WHERE fid= '. $listaId[$i]->id.' and is_editable_statistics=1';
$db->setQuery($query);
$campi = $db->loadObjectList();
$result[]=$campi;
}

return $this->campi;
}

sono un distratto assurdo...nel db alla voce is_editable_statistics era settata ad 1 solo i campi della prima tabella e le altre tabelle invece no...motivo per cui mi dava solo i campi della prima e  0 alle altre...grandi ragazzi le discussioni accellerano il cervello...a presto e grazie