Script con switch case e while

davidec84

Nuovo Utente
19 Nov 2007
9
0
0
Cari amici del Forum,

mentre giochicchiavo con le pagine del mio sito pensavo su come snellire il mio codice facendolo interagire con mysql; nello specifico la funzione che ci fa includere le pagine attraverso il GET:

http://www.miosito.it/index.php?pagina=eventi



PHP:
switch($_GET['pagina'])
{
         case "eventi":
                 $inc = 'data/eventi.php'; $titolo="eventi";break;
         
         default:  
                 $inc = 'default.php'; $titolo = "home"; break;
}
include($inc);

nel DB MySQL ho creato una tabella con i seguenti campi:
ID, PAGINA, DIR_FILE, TITOLO

A questo punto devo popolare una array con i dati del DB, in questo modo:


PHP:
$query_pagine=('SELECT * FROM tp4_p ');         
$rs_p=mysql_query("$query_pagine");
while($result_p=mysql_fetch_array($rs_p))
{
...
}

A questo punto non so più come andare avanti, ovvero, come far generare i vari case al while, ho provato con il seguente obrobrio, ma so che non ha ne capo ne coda.


PHP:
switch($_GET['p'])
{
    $query_p=('SELECT * FROM tp4_p ');
    $rs_p=mysql_query("$query_p");
    while($result_p=mysql_fetch_array($rs_p))
        {
            $p=$rs_p['p'];
        $dir=$rs_p['dir_file'];
        $tit=$rs_p['titolo'];
    
        case $p: $inc=$dir;$titolo=$tit;break;
        }
    
    case "404": $inc = 'data/404.htm'; break;
       default:  $inc = 'default.php'; $titolo = "home"; break;
}
include ($inc);

Confido in una vostra dritta.

Grazie mille.
 
Con la struttura di dati che ti sei creato non hai bisogno di usare lo switch, basta che mostri il contenuto estratto in funzione del dato passato in querystring:

$query_p=("SELECT * FROM tp4_p WHERE PAGINA = ' . $_GET['pagina'] . '");

Fammi sapere!
 
Credimi, mi sono svegliato alle 7.30 con la stessa soluzione :hammer:

Come cavolo non ho fatto a pensarci prima!?!?

Ti ringrazio per la disponibilità, ti farò sapere.
 

Discussioni simili