Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    switch con menu dinamico

    Ciao a tutti,

    è possibile utilizzare lo switch per linkare le pagine dinamicamente al menu' se il menù è prelevato con una query dal database?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmmh... what? puoi fare un esempio?...

  3. #3
    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

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    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?

  5. #5
    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]";
    }
    }
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    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 

  7. #7
    ciao sto provando in tutti i modi ma mi manca qualche passaggio.
    La query esatta per la pagina da includere dinamicamente è questa:


    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>";                 } 
    Però il problema è che me lo legge come testo e non come link.
    Nel database ho creato solo delle voci di testo.
    Come fare per farli diventare link?


    Grazie ancora

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    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.

  9. #9
    per te che sei bravo! per me ci vuole una giornata intera! grazie ci provo cmq le pagine sono nella directory principale e nel database il campo contenuto e' di tipo text. devo modificare qualcosa qui?

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    nessun problema per il campo text.

    Ovviamente all'inizio serve tempo poiche' appunto manca "l'esperienza sul campo".

    Cmq facci sapere come va

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.