Estrazione record con le classi

Ho appena iniziato a lavorare con le classi e avrei il seguente problema, ho creato questa funzione:

function elencoCrews($sql_elenco)
{
   $this->query = mssql_query ($sql_elenco,$this->connessione) or die($this->errorSQL);
         
   while ($record = mssql_fetch_array($this->query))
      return $record['mod_crews'] . ' ' . $record['sn_sab'];
}

purtroppo mi viene restituito solo il primo record e cambia ad ogni aggiornamento della pagina, come faccio a far comparire tutti i record contenuti nella tabella?

Inoltre, tutta la struttura tabellare html, la devo inserire anche in questa funzione?

Grazie,

ciao.

inviato 6 anni fa
Nando
X 0 X

Non usare il return. Quest'ultimo ritorna un risultato e termina l'esecuzione della query.

Restituisci semplicemente un array della query. L'output html (con l'echo dei valori nell'array) è di competenza del codice in cui devi stampare tutto l'html.

risposto 6 anni fa
Mario Santagiuliana
X 0 X

forse ci sono riuscito... quindi mi sembra di capire che devo costruirmi tutta la struttura tabellare html all'interno del metodo, giusto?

risposto 6 anni fa
Nando
modificato 6 anni fa
X 0 X
function elencoCrews($sql_elenco)
{
   $this->query = mssql_query ($sql_elenco,$this->connessione) or die($this->errorSQL);
   
   while ($record = mssql_fetch_array($this->query))
      $return[] = $record['mod_crews'] . ' ' . $record['sn_sab'];
       
        return $return;
}

Così ti viene restituito un array di stringhe poi fai l'echo così:

$risultato = $oggetto->elencoCrews($sql_elenco));
for($i=0; $i < count($risultato); $i++){
     echo $return[$i];
}

Ciao

risposto 6 anni fa
Mario Santagiuliana
X 0 X

ottengo solo una pagina bianca, se invece stampo con echo ogni singolo valore dall'array funziona.

risposto 6 anni fa
Nando
modificato 6 anni fa
X 0 X

Devo aver sbagliato qualcosa nella sintassi.

Guarda bene i log di apache per individuare l'errore.

E' meglio mantenere separata la funzione di ritrovo dati da query e l'output html.

Ciao

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ho risolto passando l'array al foreach, con il ciclo for non funziona.

Grazie,

ciao.  ;)

risposto 6 anni fa
Nando
X 0 X

Va benissimo anche con il foreach  :)

 :bye:

risposto 6 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda