menu dinamico a tendina con database

joseph

Nuovo Utente
8 Nov 2010
20
0
0
Ciao a tutti,

avrei bisogno di una mano a realizzare un menu a tendine che preleva i links da un database. Riesco a richiamare i menu principali, ma quando si tratta di richiamare i link di una delle voci a tendina, come l'img
menu-.jpg

mi trovo in difficoltà perchè non capisco che logica usare.

Ho creato due tabelle. Indicando l'essenziale sono strutturate cosi:

TABELLA MENU LINK PRINCIPALI: idLink, nomeLink, Tendina (valore "Y" oppure "N")

TABELLA MENU LINK TENDIA: id, idLink, nomeLink,Tendina

Supponendo che il menu sia strutturato in questo modo:
PHP:
<ul>
<li><a href="home.php">Home</a><li>
<li><a href="prova.php">Link con tendina</a>
<ul>
<li><a href="Tendinalink1.php">Link1</a></li>
<li><a href="Tendinalink12.php">Link2</a></li>
</ul>
</li>
</ul>

Qualcuno mi sa dare una mano su come interrogare il DB e visualizzare i risultati nel menu. Non inserisco le mie prove perchè probabilmente sono del tutto fuorvianti o incorrette nella procedura.

Grazie in anticipo
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se non ho capito male quello che intendi, questo puo essere un esempio

PHP:
<?php
//qui i dati di connessione al db
?>
<!-- ecc..... -->
<ul> 
<li><a href="home.php">Home</a><li> 
<li><a href="prova.php">Link con tendina</a> 
<ul>
<?php
$result=mysql_query("SELECT * FROM menu_link_tendia WHERE tendina='Y' ORDER BY nomeLink";
while($riga=mysql_fetch_array($result)){
echo "<li><a href=\"".$riga['idLink']."\">".$riga['nomeLink']."</a></li>";
}
?>
</ul> 
</li> 
</ul>  
<!-- ecc..... -->
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
un controllino giusto per non generare errori in caso di campi vuoti:
PHP:
<?php
$result=mysql_query("SELECT * FROM menu_link_tendia WHERE tendina='Y' ORDER BY nomeLink";
if(mysql_num_rows($result)>0)
 {
 while($riga=mysql_fetch_array($result)){
 echo "<li><a href=\"".$riga['idLink']."\">".$riga['nomeLink']."</a></li>";
 }
}
?>
 

joseph

Nuovo Utente
8 Nov 2010
20
0
0
perfetto ma credo manchi una cosa

Grazie Borgo Italia e Eliox,

L'esempio è ottimo. Ma come faccio con i link (in questo caso) HOME - LINK CON TENDINA?

anche questi li devo prelevare dal database.
1 Posso con una sola querry fare tutto?
2 devo farne due di query?
3 se devo farne due come integro la seconda all'esempio che mi hai appena fatto?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
alcune cose se non ho capito male:
con LINK CON TENDINA intendi la voce principale a cui sotto si elencano alcune delle voci secondarie?
le due tabelle sono collegate tramite il campo idLink? cioè ad un record della prima tabella cin id=idLink si collegano più record della seconda tramite il campo idLink?
es
in tapella principale
1 pinco
2 pallo
ecc..
nella secondaria
1 1 pinco uno
2 1 pinco due
3 1 pinco tre
4 2 pallo uno
5 2 pallo due
ecc..
è così?
se è così secondo me nella tabella secondaria manca il vero link cioe a cosa devi andare cliccando sulla voce.
comunque è fattibile, però devi avere un po' di pazienza sono via per qualche giorno

p.s.
a che ti serve avere nel db la voce home? quante home hai? di solito è una
 

joseph

Nuovo Utente
8 Nov 2010
20
0
0
scusa spiego meglio

Scusa Borgo Italia, hai ragione. Ora spiego tutto in dettaglio così non lascio dubbi.

Database:

Tabella dei link principali campi:

idLink ------------nome_link------------Link----------Tendina
1-----------------home----------------home.php------- N
2 ----------------Chi siamo------------ chi_siamo.php -- Y
3 ----------------lavori--------------- lavori.php-------- Y
Ecc...ecc...

Tabella2 Link tendina:

id----------------idLink------------Link--------------------nome
1-----------------2----------------dovesiamo.php------- dove siamo
2 ----------------3------------ ---galleria.php--- --------Galleria lavori

Ecc...ecc...

Ora quello che voglio realizzare è:

<ul>
#####campi generati dal database############
<li><a href="link dal database tabella 1">Nome link database tabella 1</a></li>
<li><a href="link dal database tabella 1">Nome link database tabella 1</a>
#####verifico se il campo tendina è "Y" allora genero i menu a tendina che
<ul>
<li><a href="link legato all idLink della tabella 2">Nome Link dalla tabella 2 </a></li>
ecc..eccc..</ul>
</li>ecc..eccc..
</ul>

Forse ora è picomprensibile spero

grazie ancora per il tempo dedicato
 
Ultima modifica:

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Ecco, in questa maniera dovrebbe funzionare:
PHP:
<?php
echo '<ul>';

$query = mysql_query('SELECT * FROM link_principali');

while($row = mysql_fetch_assoc($query))
{
	echo "<li><a href=\"{$row['Link']}\">{$row['nome_link']}</a>";

	if($row['Tendina'] == 'Y')
	{
		$query2 = mysql_query("SELECT * FROM link_tendina WHERE idLink = {$row['idLink']}");
		
		if(mysql_num_rows($query2) > 0)
		{
			echo '<ul>';
			
			while($row2 = mysql_fetch_assoc($query2))
				echo "<li><a href=\"{$row2['Link']}\">{$row2['nome']}</a></li>";
			
			echo '</ul>';
		}
	}
	
	echo '</li>';
}

echo '</ul>';
?>
Fammi sapere!
 

joseph

Nuovo Utente
8 Nov 2010
20
0
0
Grande

Grande Alessandro 1997,

Fuonziona:)

Era veramente articolato, non ci sarei arrivato da solo.

Grazie a tutti

buon lavoro
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa ma c'è un particolare che non mi quadra.
es
la pag home non ha la tendina e quindi se clicchi su HOME vai alla pag HOME, e si in qui non ci piove.
la voce "chi siamo" invece ha la tendina (Y) quindi cliccando sulla voce CHI SIAMO "dovrebbe aprirsi la tendina", ma sei sicuro che lo faccia?
secondo quanto ti ha indicato alex (giusto da tanti punti di vista) alla voce "chi siamo" corrispondendente al php
PHP:
echo "<li><a href=\"{$row['Link']}\">{$row['nome_link']}</a>";//il primo echo
corrisponde un html
HTML:
<li><a href="chi_siamo.php">chi siamo</a></li>
quindi cliccando su chi siamo non si apre la tendina, ma secondo me si va alla pagina chi_siamo.php e la pagina dove_siamo.php non è mai raggiungibile.
ma può darsi che sbagli
 

joseph

Nuovo Utente
8 Nov 2010
20
0
0
funziona

Mi funziona correttamente. Mi piazza il link sia sulla voce principale che su quelle della tendina.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
Mi funziona correttamente. Mi piazza il link sia sulla voce principale che su quelle della tendina.
generalmente quando si fanno i menu a tendina la voce principale non è un link ma solo un titolo che determina una categoria di link
 

joseph

Nuovo Utente
8 Nov 2010
20
0
0
si

IN questo caso mi serviva questa opsione, che posso comunque annullare semplicemente aggiungendo una condizione anche sul link della voce principale.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
borgo, quello che dici tu sarebbe stato corretto se il menù si aprisse al click del mouse. Invece questo si apre al passaggio del mouse, quindi anche se la voce principale linka a qualche pagina non è un problema.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
io parlavo che generalmente la prima voce non è un link. gli utenti generalmente si aspettano che in un menù del tipo (o passando sopra o cliccando) si apra il sottomenu da cui si naviga "verso altri lidi". il fatto che la prima voce sia un link può, a mio avviso, portare ad errori di navigazione
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Menu a tendina dinamico che non si aggiorna PHP 2
V Menu a tendina dinamico in php PHP 7
C Creazione Menu dinamico con Checkbox PHP 0
V menu dinamico PHP 10
S Menu' dinamico PHP 3
B creare menu dinamico Webdesign e Grafica 2
F Menu dinamico e xml XML 1
K Menu dinamico con file .css ASP.NET 1
metalgemini Menu dinamico con selezione di default Snippet Javascript 0
A menu dinamico scorrevole Flash 0
N Menu A Cascata Dinamico PHP 0
P menu dinamico con PHP PHP 0
G Colorare menu select attraverso ricerca php PHP 0
M Creazione menu a tendina Javascript 3
D menu con submenu orizzontale HTML e CSS 0
Cosina Menu fisso copre i titoli quando cliccati nel sommario jQuery Javascript 4
G creazione menu a tendina e invio a pagina php PHP 1
P Sub menu con Collapse. Javascript 0
R abilitare menu a tendina tramite relativa chekbox PHP 17
L Aiuto creazione menu mancante WordPress 0
S spostare il pulsante menu dropdown HTML e CSS 8
F Dropdown menu con tabella PHP 33
Spown [WordPress] Problemi visualizzazione su più browser + voci menu in movimento WordPress 1
A [WordPress] Menu bar WordPress 0
W [WordPress] Non si vedono le categorie da aggiungerle al Top Menu WordPress 3
M Inviare variabili da menu a tendina a pagina php con post PHP 6
M [PHP] Selezione da menu a discesa con 2 variabili PHP 0
F [WordPress] [HTML] Aggiungere una pagina solo allo sticky menu WordPress 4
M [PHP] Creare un menu a tendina con pdo PHP 18
M [Javascript] Caricamento menu da file esterno Javascript 8
W [HTML] Animazione menu mobile HTML e CSS 0
P [HTML] Eliminare doppio menu in wordpress WordPress 2
andreas88 [PHP] menu PHP 15
K [ASP.Net] Realizzazione menu a tendina dipendenti ASP.NET 1
M [HTML] problema spazio aggiuntivo tra elementi <li> di menu a tendina HTML e CSS 1
L [css e html] destra e sinistra (menu navigazione) HTML e CSS 3
P [Gratuito][Cerco] qualcuno per fare menu a tendina ottimizzato per mobile-responsive con css e html Offerte e Richieste di Lavoro e/o Collaborazione 3
P [HTML] Problema con menu orizzontale a tendina per sito web HTML e CSS 17
P [Javascript] Voce del menu evidenziata in base alla pagina attiva Javascript 48
V [WordPress] Come modificare link in tasto menu css WordPress 21
S [Javascript] [CSS] Spazio Bianco tra Slider e Menu foto Javascript 6
P [Javascript] problema menu responsive su aruba, editor bk Javascript 1
Hellgrom90 Hamburger menu non si chiude jQuery 1
K [Javascript] Finestra menu Javascript 1
Selenio89 [HTML] creare menu di navigazione HTML e CSS 2
C [Javascript] [HTML] Problemi: Overlay, Banner, Menu Javascript 4
C 3 Bug CSS AND HTML: Overlay-Banner-Menu HTML e CSS 0
C 3 BUG CSS AND HTML: OVERLAY - BANNER- MENU HTML e CSS 0
U [PHP] Selezione con menu a tendina e recupero selezione PHP 5
M Riadattamento funzioni per far scomparire un menu. jQuery 4

Discussioni simili