Ciao a tutti,
è possibile utilizzare lo switch per linkare le pagine dinamicamente al menu' se il menù è prelevato con una query dal database?
Grazie
Ciao a tutti,
è possibile utilizzare lo switch per linkare le pagine dinamicamente al menu' se il menù è prelevato con una query dal database?
Grazie
mmmh... what? puoi fare un esempio?...
Si infatti è una domanda stupida, pensandoci credo proprio non sia possibile. Grazie ai tuoi suggerimenti di ieri sono riuscita a creare pagine dinamiche con lo switch in questo modo:
[*]HOME [*] FINESTRE [*]SERRAMENTISTI [*]NOTIZIE[*] CONTATTI
<?php
if (isset($_REQUEST['pagina']))
{
switch($_REQUEST['pagina'])
{
case finestre: readfile('finestre.php'); break;
case serramentisti: readfile('serramentisti.php'); break;
case notizie: readfile('notizie.php'); break;
case contatti: readfile('contatti.php'); break;
default: readfile ('home.php'); break;
}
}
else readfile('home.php');
?>
Il problema è che voglio rendere il menù dinamico con la query che lo seleziona dal database. Il mio grande dilemma è :come linkare le pagine dinamicamente se il menù è selezionato da database? con lo switch è impossibile. Mi chiedo come si possa fare
Grazie per la pazienza![]()
cosa intenti con "menu dinamico"? avrai cmq un numero di casi da gestire, suppongo, o no? non puoi fare un esempio di un paio di casi che non riesci a gestire?
intendo menù selezionato in questo modo da database:
<?php
$Risultato=mysql_query("select * from TblMenu order by Posizione", $conn);
if (!$Risultato)
{
die("La tabella selezionata non esiste " . mysql_error());
}
while ($riga=mysql_fetch_array($Risultato))
{
if ($IdMenu <> $riga[ID])
{
echo "<ul id='menu'>[*]" . $riga[Nome_menu] . "[/list]";
}
else
{
echo "<ul id='menu'>[*]" . $riga[Nome_menu] . "[/list]";
}
}
?>
hai cmq alla fine un elenco di voci precise che puoi gestire... potresti anche non fare uno switch, ma passare come parametro un valore (come "menuid") e poi nello script di gestione fai una query sul db con quel valore per recuperare un altro campo che contenga il nome del file da "includere", per cui avresti al posto dello switch:
Codice PHP:...
$res = mysql_query("select pagina from TblMenu where menuid=$menuid");
... qui recuperi in $pagina il campo "pagina" se la query ha successo ...
include ($pagina); // senza switch
ciao sto provando in tutti i modi ma mi manca qualche passaggio.
La query esatta per la pagina da includere dinamicamente è questa:
Però il problema è che me lo legge come testo e non come link.Codice PHP:$Query = "SELECT * FROM tblcontenuti ";
$Query .= "WHERE ID_MENU = " . $IdMenu;
$Risultato=mysql_query($Query, $conn);
if (!$Risultato) {
die("La pagina selezionata non contiene alcun valore e/o testo "); }
while ($riga=mysql_fetch_array($Risultato))
{ echo "
" . $riga[Contenuto] . "</p>"; }
Nel database ho creato solo delle voci di testo.
Come fare per farli diventare link?
Grazie ancora
Ripartiamo dall'inizio :
1- controlla percorso attuale
2- stipa il percorso ed estrai la pagina html attiva
3- estrai dal database il menu
4- scorri le voci e controlla che la voce non sia quella attiva e settata al punto 3
5- imposta le classi per il css nei links e/o non concatenare il link se la pagina e' attiva
6- stampa il menu !
Tempo di implementazione : 15 min.
per te che sei bravo! per me ci vuole una giornata intera! grazie ci provocmq le pagine sono nella directory principale e nel database il campo contenuto e' di tipo text. devo modificare qualcosa qui?
nessun problema per il campo text.
Ovviamente all'inizio serve tempo poiche' appunto manca "l'esperienza sul campo".
Cmq facci sapere come va![]()