menù a comparsa che prende i dati dal DB postato il 08/02/2014 11:28:12 nel forum programmazione, gdrcd, open source, hosting 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 + Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
New Orleans: Nuovo Video Land!
losnodo ha risposto alla discussione: Programmatore Offresi!
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
joeilcondor si è accreditato come gestore di Betsu No Tamashi
Portus: Harry Potter Gioco di Ruolo: DCAO: il vero nemico non è la magia oscura
Apocalypse Requiem: Detroit: Release Nuova Versione
Another Year Of Disaster: A Whole Year of Disaster! 🎉
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, inizia l'avventura!
exv_staff ha aperto un annuncio di ricerca: Exclusive Villa GdR ricerca Giocatore
World of Tanks: Aggiornamento 2.0.1: Linee ridisegnate
Il genere Battaglie Galattiche raggiunge i 400 giochi catalogati!
RAID Shadow Legends: Evento "Febbre del Drop"
Seconda Era → Vaste terre coperte di ombre e misteri, dove ogni eroe scrive la storia del Mondo di Eidel. Seconda Era, Play By chat
frost ha risposto alla discussione: Gioco investigativo e politico
I dati del generatore di rank sono stati aggiornati!
Le Cronache di Raja Dunia: Aggiornamento Informazioni Personaggio
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
Skype Chiude! - L'Addio a Skype: un'era volge al termine, ma il futuro è in Teams!
Hogwarts Mystery GdR - Intervista alla gestrice del play by forum potteriano Hogwarts Mystery GdR
Star Trek Genesis - Intervista alla gestione di Star Trek Genesis il play by chat Trek!
Giochi Storia - I giochi a tema storia più amati dagli italiani!
Felix Felicis - Intervista alle gestrici del play by forum Felix Felicis GdR - Harry Potter GdR
Inquisizione - Intervista alla gestione di Inquisizione London Chronicles il play by chat ambientato in un oscura Londra
Saint or Sinners - Intervista allo staff di Saint or Sinner? - Los Angeles, play by chat moderno ambientato a Los Angeles!