Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Info menù a tendina

  1. #1

    Info menù a tendina

    Ciao,

    vorrei creare un menù a tendina che legga le voci da una tabella SQL, che corrisponde, poi, alle categorie di un forum. Una volta selezionata una categoria l'utente viene rediretto al forum...

    Come devo procedere? Creare un form e poi all'interno una select prendendo le voci dalla tabella?

    Qualcuno ha esempi di codice simile?

    Grazie 1000,

  2. #2
    metti il risultato della select in un array.
    Poi nel campo "value" dei tag <option> ci metti i vari campi.
    Se vuoi un redirect immediato alla selezione devi usare javascript...

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    $query="SELECT voci FROM tabella";
    $result=mysql_query($query);
    echo '<form bla bla'
    echo '<select name="menu">';
    while($row=mysql_fetch_array($result)) {
    echo '<option value="'.$row['dato'].'">'.$row['descrizione'].'</option>';
    }


  4. #4
    Credo di aver capito... L'unica cosa è il redirect.

    Quali saono le possibilità? Tramite form o tramite javascript? Nel primo caso avrei il classico tasto "Invia", nel secondo il redirect seguirebbe subito la selezione... Giusto?

    Nel caso del form, cosa dovrò indicare nella "action"? Il link del mio forum con la variabile corrispondente al topic?

  5. #5
    io ho fatto così:
    Nell'html ho messo:

    codice:
    <select name="categorie" onChange="ricarica()">
    e nell'header la funzione "ricarica" è la seguente:

    codice:
    function ricarica()
    	{
    	if(document.info.categorie.value!="")
    		{
    		document.info.method="post"
    		document.info.action="xxxx.php?exe=si"
    		document.info.submit()
    		}
    	}
    info è il nome del form.
    categorie è il nome della select (come vedi nella prima riga di codice.
    Value serve per definire il valore scelto dal menù a tendina.
    la pagina xxxx è la pagina da ricaricare, nel mio caso è la stessa a cui ho aggiunto con il metodo get una variabile exe assegnata a "si".
    All'inizio della pagina acquisisco la variabile "exe", chiedo con un if se è uguale a si. Nel caso di risposta vera visualizzo tutte le informazioni relative alla scelta. Nell'else inglobo tutto il resto della pagina, che quindi si visualizza solo se nessuna categoria è selezionata...
    spero sia chiaro...

  6. #6
    Credo d'aver capito... oggi proverò...

    L'unica cosa che non mi è chiara è l'uso della variabile exe... Se io devo scegliere tra gli argomenti di un forum, in action inserirò la pagina che mi richiama il forum, passandogli come topicid l'ID che ricaverò dalla selezione...

  7. #7
    se richiami un'altra pagina ignora il discorso dell'exe...
    Serve solo per metterlo sulla stessa pagina...e non caricare un altro file...

  8. #8
    Ti ringrazio per l'aiuto... questa sera provo...

  9. #9
    Ciao...

    ho iniziato la creazione del menù a tendina che mi serve.

    Riesco ad estrarre le voci dalla tabella ma poi ho un problema. Quando seleziono la voce dal menù dovrebbe rimandarmi ad una determinata pagina che corrisponde alla categoria del mio forum. Come faccio a passare al form il valore della categoria alla quale puntare?

    Ecco come ho creato il codice seguendo un po' di indicazioni:

    codice:
    <script language="javascript">
    function ricarica()
    	{
    	 if (document.info.categoria.value!="")
    	 	{
    		 document.info.method="post"
    		 document.info.action=document.info.categoria.value
    		 document.info.submit()
    		}
    	}
    </script>
    <?php
    global $prefix, $user_prefix, $db, $sitename, $bgcolor0, $bgcolor1, $bgcolor2, $bgcolor3, $currentlang;
    $content = "";
    $content .= "<form name=\"info\">";
    $content .= "<select size=\"1\" name=\"categoria\" onChange=\"submit()\">"; 
    $result = $db->sql_query("SELECT cat_id, cat_title FROM ".$prefix."_bbcategories ORDER BY cat_id");
    while ($row = $db->sql_fetchrow($result))
    	{
    	 $content .= "<option value='http://www.proalcool.it/modules?name=Forums&file=index&c=$row[cat_id]'>$row[cat_title]</option>";
    	}
    $content .= "</select></form>";
    
    ?>

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.