• User Newbie

    Assegnare valore variabile da query

    Buonasera a tutti voi.

    Mi sto cimentando un po con php. Sono alle prime armi quindi vi pongo questo quesito.

    Ho la necessità di assegnare un valore ad una variabile prelevando sia il nome che il dato entrame i dati da una tabella MySQL.

    Questo è il codice che ho scritto. Non mi genere nessun errore durante l'esecuzione ma non vedo nulla a video quando la eseguo.

    [PHP]<?php
    @require "conn_db.php";
    $cfg_globali_runonce = mysql_query("SELECT * FROM rda_cfg_globali_runonce") or die ("Impossibile avviare il portale. Contattare l'amministratore del portale.");

    while($array_cfg_globali_runonce = mysql_fetch_array($cfg_globali_runonce))
    {
    $array_cfg_globali_runonce['cod_cfg_glo_runonce'] = $array_cfg_globali_runonce['stato_cfg_glo_runonce'];
    echo $array_cfg_globali_runonce['cod_cfg_glo_runonce'];
    }

    ?>[/PHP]

    Cosa mi consigliate di fare? La mia necessità è realizzabile?

    Grazie infinite.


  • User Attivo

    Ciao!
    Il fatto che sullo schermo non compaia niente sicuramente dipende dal fatto che il tuo server ha la visualizzazione degli errori disattivata.
    Aggiungi all'inizio del tuo script
    [php]
    ini_set('display_errors','On');
    error_reporting(E_ALL);
    [/php]
    in modo da visualizzare gli errori che genera.


  • User Newbie

    Ti ringrazio per la risposta.

    Ora che ho risolto la prima parte del problema dovrei risolvere la seconda.

    Le poche righe scritte nel primo post mi servirebbero per assegnare alla variabile un valore il tutto "prelevandolo" tramite la query.

    Ovvero, anzichè scrivere:

    [php]
    $Titolo_Pagina = "Prova";
    [/php]

    vorrei ricavare dal database sia il nome della variabile sia il suo valore.

    Con il codice come ho scritto questo non riesco a farlo. E' possibile secondo te?
    Avendo molte variabili non volevo creare una pagina sulla quale aggiungere manualmente ogni riga.

    Esempio:
    [php]
    $nome = "Pippo";
    $cognome = "Pluto";
    $città = "Parigi";
    ecc
    ecc
    [/php]

    ma tutto a mezzo query.


  • User Attivo

    La tua esigenza è molto comune, ma di solito non si fa come intendi fare te.

    Per fare quanto dici puoi usare il comando eval
    [php]
    eval('$'.$nomeVar.' = "'.$valoreVar.'";');
    [/php]
    ma presenta una serie di controindicazioni. La più importante è: una volta definita la variabile, come faccio a sapere che esiste nel seguito dello script? E come la uso?
    Premesso che tutto si risolve, è molto più semplice usare un array
    [php]
    $cfg_globali[$nomeVar] = $valoreVar;
    [/php]

    Nel tuo caso specifico
    [php]
    <?php
    @require "conn_db.php";
    $cfg_globali_runonce = mysql_query("SELECT * FROM rda_cfg_globali_runonce") or die ("Impossibile avviare il portale. Contattare l'amministratore del portale.");

    $cfg_globali = array();

    while($array_cfg_globali_runonce = mysql_fetch_array($cfg_globali_runonce))
    {
    $cfg_globali[$array_cfg_globali_runonce['cod_cfg_glo_runonce']] = $array_cfg_globali_runonce['stato_cfg_glo_runonce'];
    }

    print_r(cfg_globali);
    ?>
    [/php]

    Vedi se funziona.