uff... return query da funzione

ancora devo capire come ritornare un array ( i soliti dopo aver fatto una query su diversi campi ) da una funzione tipo:

function A(){

$query = ...

$exec = mysql_query($query);

BOH

return BOH

}

non so se devo returnare:

return $exec;

return mysql_fetch_array($exec);

return $_DATA = mysql_fetch_array($exec);

poi dopo aver richiamato A() fare il necessario a recuperare i dati della query eseguita nella funzione ... come posso fare??

ciao!

:bye:

inviato 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

devi eseguire tutta la fetch dei risultati nella funzione, conservare i risultati in un array e passare queso alla return.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

grazie !

:bye:

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

quindi faccio

while ($lol = mysql_fetch_array($exec)){

      $_DATA = $lol;

}

non mi è chiaro come trasferire i dati nell'array per portarlo fuori , perchè senno porto fuori solo il primo record che estraggo

:bye:

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Gianni ti spiego la situazione :

utilizzo una funzione chiamata SetPage($_GET['page']) per gestire e includere le pagine scelte dall'url

se nella pagina inclusa ( creando l'istanza nella pagina che include ) metto $rvk->Funzione(); si blocca tutto...se invece faccio $this->Funzione(); funziona :) questo presumo perchè il file è incluso nella classe dopo essere stato richiamato...

ora io ho messo i risultati in un array in questo modo:

<?php         function ListUpdates($limit = 25){

         

                     /* display update list

                      * @author : trashofmasters <trashofmasters@gmail.com>

                      * @date   : 30 . 06 . 2006

                      * @copy   : (c) Revoke soft 2006

                      * @return : array $_DATA - update list results

                      * @param  : string $limit - update list limit          

                      */

                      

               $query = "SELECT `event`, `name` AS `tag` FROM `updates` AS `u` JOIN `tags` AS `t` ON"

                      . " u.`tid`=t.`tid` ORDER BY `dateline` DESC LIMIT " . $limit ;                     

                        /*

                         * extract tag name and event from update table

                         */

                     

               $exec = mysql_query($query);

               

               while($_RETURN = mysql_fetch_array($exec)){

               

                  $DATA[] = $_RETURN;

                  

                  }

                  

                     mysql_free_result($exec);         

                     unset($_RETURN,$exec);

                        /*

                         * Free query results

                         */

            

                     return $DATA;   

                     

                        /*

                         * Return the array 

                         */         

            

      }?>

solo che se faccio print_r($DATA) prima del return mi mostra l'array con i risultati che mi servono...se chiamo la funzione e poi dopo ( sto parlando del file incluso ora)

faccio

print_r($DATA) non mostra nulla nemmeno con print_r($this->DATA);

magari è per il fatto che non ho dichiarato public $DATA ( non l'ho dichiarata proprio ;D ) all'inizio della classe??

Grazie

:bye:

Gianni ho visto un bell'editor WYSIWYG per le textarea ... perchè non ne installi uno ?Parlo di quegli editor espandibili in verticale fighissimi!!!

ciao

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

Uffa che noia sto php .... mi bastava fare

print_r($this->ListUpdates()) per ottenere l'array ... mba

grazie cmq

:bye:

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

print_r($this->ListUpdates());

o

$array = $this->ListUpdates();

print_r($array);

sono equivalenti.

magari è per il fatto che non ho dichiarato public $DATA ( non l'ho dichiarata proprio Grin ) all'inizio della classe??

Se non l'hai dichiarata allora non è ne public ne niente, è solo una variabile locale, vive all'interno del metodo (funzione)

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

si me ne ero accorto troppo tardi ... avevo avuto già questo problema settimane fà :2funny: ma avevo scordato come risolvere ;D ero convinto che return $VAR; mi permetteva di fare

$obj->funzione();

echo $VAR;

--- che idiota che sono lol!!!!

:bye:

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda