Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: $row di $row

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    7

    $row di $row

    Buongiorno, sto strutturando una piccola funzione e ho un piccolo problemino.
    Sul primo cliclo while ricavo una stringa che devo dare in pasto al secondo while.
    Ho commentato le righe in grassetto.

    Grazie in anticipo.
    Omar

    function Griglia($NomeGrid)
    {
    if ($NomeGrid == 'ANA01')
    {
    $sql = "SELECT * FROM tabelle ";
    $sql .= "WHERE TABELLA='$NomeGrid' AND VISIBILE='S';";
    //
    $sql_2 = "";
    $sql_2 .= "SELECT ";
    $i = 0;
    $cost = "";
    $result = mysql_query($sql);
    $ok = mysql_num_rows($result);
    echo "<table border=1>";
    echo "<tr>";
    while ($row = mysql_fetch_array($result))
    {
    echo "<td>" . $row['descrizione'] . "</td>";
    $sql_2 .= "'" . $row['nome'] . "'";
    $cost .= "<td>\$row['" . $row['nome'] . "']</td>"; //Crea "<td>$row['ANA01COGNOME']</td>"
    $i++;
    if ($ok != $i){$sql_2 .= ", ";}
    }
    echo "</tr>";
    $sql_2 .= " FROM $NomeGrid;";
    $result = mysql_query($sql_2);
    while ($row = mysql_fetch_array($result))
    {
    echo "<tr>";
    echo $cost;//Restituisce a video "$row['ANA01COGNOME']" invece di "Giuseppe"
    echo "</tr>";
    }
    echo "</table>";
    //echo $sql_2;

    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Codice PHP:
    $cost .= "<td>".$row[$row['nome']]."</td>"
    se le impostazioni di $row sono corrette

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    7
    Grazie per la risposta, purtroppo però mi ritorna un errore.

    Notice: Undefined index ANA01COGNOME in ...

    Sembra che l'istruzione $row[$row['nome']] torna subito il valore, mentre devo ottenere una stringa "$row[ANA01COGNOME]" da estrapolare nel ciclo while successivo, dopo aver estratto i dati con un'altra query.

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ah, ecco, allora cambia la riga com'era prima e sostituisci la seconda con:

    Codice PHP:
    eval('$cost="'.$cost.'"';); echo $cost// in pratica $cost = "<td>$row['ANA01COGNOME']</td>" 
    o qualcosa del genere
    (io cambierei la logica generale, ma prova con qualcosa del genere, se vuoi)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    7
    Se hai qualche suggerimento ben volentieri.
    Non serve che mi scrivi il codice.
    Se poi funziona, posto il risultato.

    Ora provo eval.

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    per la questione di "rivedere" il codice... potresti basarti sulla "classica" separazione tra "logica e rappresentazione"... in partica nei cicli while NON generi alcun codice HTML, ma semplicemente imposti e definisci tutte le variabili: in particolare le varie righe con $row che vengono calcolate le potresti inserire in un vettore (diciamo per esempio $dati[]['descrizione']=..., $dati[]['nome']=...); in questo caso il punto dove ora c'è echo $cost (o con eval) non conterrebbe un output ma solo una computazione di una variabile (es.: $dati[]['cost'] = $row[$row['nome']]). Al termine dei cicli fai un nuovo ciclo sul vettore $dati per generare la TABLE in HTML.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    7
    Purtroppo sono fermo con questo problema:

    $campo = $assegna[$i];
    echo $campo; //Restituisce $row['ANA01COGNOME']
    Quello che mi interessa è il valore dell'istruzione.

    Difatti, se la stessa istruzione la scrivo a manina mi restituisce il valore corretto:
    echo $row['ANA01COGNOME']; //output: ROSSI

    Help!!!!

    Grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    hai "provato" con:

    Codice PHP:
    eval('$campo="'.$campo.'"';); echo $camp0
    o anche solo con:
    Codice PHP:
    echo $$campo

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    7
    Purtroppo nessun riscontro positivo...

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ah già...
    Codice PHP:
    eval('$campo = '.$campo.';'); echo $campo

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.