Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714

    Function, come restituire un array?

    Salve, ho questo problema! Devo mettere una porzione di codice dentro ad una funzione e restituire un array. Ecco il codice FUNZIONANANTE:

    Codice PHP:
    $domande = array();
    $sql ""
    $rs = @mysql_query($sql);
    while( 
    $row = @mysql_fetch_assoc($rs) ){
          
    $domande[] = array('domanda'=>$row['domanda'], 'risposta'=>$row['risposta'], 'lvl'=>$row['lvl']); 
    Non ho messo la query, l'importante non e' quella e' l'array. Tutto funziona correttamente. Mi restituisce l'array $domande e con un foreach stampo i risultati a video.

    Ora, ho provato a fare una cosa del genere:

    Codice PHP:
    function Domande() {
      
    $domande = array();
      
    $sql ""
      
    $rs = @mysql_query($sql);
      while( 
    $row = @mysql_fetch_assoc($rs) ){
          
    $domande[] = array('domanda'=>$row['domanda'], 'risposta'=>$row['risposta'], 'lvl'=>$row['lvl']);
    return(
    $domande);

    Purtroppo non mi ritorna nulla! Qualcuno di voi sa aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Nella query usi per caso delle variabili? In quel caso il problema è li in quanto all'interno di una funzione le variabili non sono globali, quindi se le definisci fuori, poi dentro non hanno valore. (posta il codice anche della query cosi ne siamo certi).

    poi...per richiamare l'array fai una cosa del genere?

    Codice PHP:
    $domande Domande(); 
    vero?


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    Ho controllato, nella query nessuna variabile!

    No, l'array lo richiamo cosi:

    $domande = array();

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    Mi son dimenticato di dire un punto che credo sia importante!

    Io uso Smarty template, quindi l'array a smarty lo passo cosi:

    $smarty->assign('domande', $domande);

    dove $domande e' un array...

  5. #5
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    allora sbagli nel richiamarlo. Una volta definita la funzione tu devi creare l'array conq uella funzione quindi passarglielo cosi:

    Codice PHP:
    $domande Domande();
    $smarty->assign('domande'$domande); 


  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    ok ma alla fine della funzione cosa metto?

    dopo che faccio il ciclo while, popolo l'array?

    return($domande) ?

  7. #7
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    si nella funzione certo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.