menù a comparsa che prende i dati dal DB postato il 08/02/2014 11:28:12 nel forum programmazione, gdrcd e open source e modificato da de1980 il 08/02/2014 12:09:31
Buongiorno, dovrei creare un menù a comparsa che prende i dati da un database.
Mi spiego meglio, devo fare uno script che tramite un bottone apre altri bottoni, in questi ci saranno per ogni bottone un dato del database, e sotto ogni bottone con il dato del database ci dovrano essere altri bottoni che servono alla scelta finale che punteranno a una pagina.
Spero di essermi spiegata bene è un po' contorta la cosa ho provato a mettere assieme un paio di script ma non funziona come dovrebbe.
copio qui lo script:
<script language="JavaScript" type="text/JavaScript">
function mostraMenu(menuCorrente) {
if (document.getElementById) {
questoMenu = document.getElementById(menuCorrente).style
if (questoMenu.display == "block") {
questoMenu.display = "none"
}
else {
questoMenu.display = "block"
}
return false
}
else {
return true
}
}
</script>
<style type="text/css">
.menu {display:none; margin-left:20px}
li {list-style: none;}
ul {list-style-type:none;}
</style>
<ul class="nav site-nav">
<li class=flyout>
<li><a href=# onclick="return mostraMenu('menu1')"><button id='deposita'>Deposita</button></a></li>
<ul class="flyout-content nav stacked">
<?php
foreach( $arr_sel_tab_tranne as $chiave => $valore)
if( substr($chiave,0,2) != "Us" && $chiave != "id")
{
if($valore > 0)
{
?>
<li class=flyout>
<ul class='menu' id='menu1' > //Appunto sotto
<li><a href=# onclick="return mostraMenu('menu2')"><button id='deposita'> <?php echo $valore . " ". $chiave; ?> </button></a>
<ul class='menu' id='menu2' >
<a href="azione.php?azione=dep_1<?php echo $chiave; ?>"> <button style="width:30px" id="deposita">1</button></a>
<a href='azione.php?azione=dep_2<?php echo $chiave; ?>'> <button style='width:30px' id='deposita'>2</button></a>
<a href='azione.php?azione=dep_5<?php echo $chiave; ?>'> <button style='width:30px' id='deposita'>5</button></a>
<a href='azione.php?azione=dep_10<?php echo $chiave; ?>'> <button style='width:30px' id='deposita'>10</button></a>
<a href='azione.php?azione=dep_20<?php echo $chiave; ?>'> <button style='width:30px' id='deposita'>20</button></a>
<a href='azione.php?azione=dep_50<?php echo $chiave; ?>'> <button style='width:30px' id='deposita'>50</button></a><br />
<li class="flyout-alt">
</ul>
<?php
}
}
}
Lo script è un assemblato di pezzi vari fatto da me.
Pagine → 1
08/02/2014 14:56:40
Non ho dato una occhiata profonda, al momento non posso testarlo, ma ad occhio e croce sembra tutto corretto, tranne forse:
08/02/2014 15:02:05 e modificato da leoblacksoul il 08/02/2014 15:05:06
Il javascript è giusto. è tutto il resto che è sbagliato.
Quel codice contiene errori di sintassi PHP, c'è una parentesi graffa chiusa alla fine che non corrisponde a nessuna graffa aperta (probabilmente la parentesi dopo il foreach che non è mai stata aperta).
Inoltre stai violando la logica degli id in una pagina web. Per ogni elemento nel tuo array, tu stai generando un elemento con id="menu1". In questo modo la pagina web finale conterrà tanti elementi con id="menu1" cosa che non è assolutamente corretta. Deve esserci uno e un solo elemento con un particolare id in una pagina web. Idem per i mille button con id="deposita"
Il comportamento di javascript in presenza di id multipli è indeterminato.
Poi, non so cosa vorresti ottenere graficamente, ma non credo che tu possa aprire degli elementi <ul> direttamente dentro a un altro <ul>. Puoi però aprire elementi <ul> dentro a elementi <li>, a patto che gli <li> abbiano il css display pari a "block" o "inline-block". E infine, gli elementi <li> vanno chiusi (</li>) nel tuo codice hai lasciato dei <li> aperti a caso prima della chiusura del rispettivo <ul>
08/02/2014 15:10:26
08/02/2014 15:52:16
08/02/2014 16:32:33
08/02/2014 16:49:20
intanto grazie per le risposte, lo script lo so che fa acqua da tutte le parti, infatti all'inizio non lo avevo nemmeno inserito, poi mi è stato suggerito di metterlo per dare un'idea di quello che voglio fare.
la cosa del menu1 l'ho notata anch'io ma non sapevo come far mettere in automatico un nuovo menu con un numero progressivo per ogni elemento, per questo ho chiesto a qualcuno che forse mi poteva aiutare. Per la parentesi del foreach mi sembrava che qualcuno avesse scritto che mancava, infatti nel codice che ho copiato non c'è ma nel mio script l'ho messa. Per tutto il resto non so come procedere
18/02/2014 00:48:13
"ops"... Mi ero dimenticato di rispondere.
Prova questo:
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
kylejhonson ha recensito New York Gdr - The Big Apple