Dynamische Navigation

bettinacosta

Grünschnabel
Ich habe eine dynamische Navigation kreiert, d.h. wenn ich einen Menüpunkt mit Unterpunkten anwähle, werden die Unterpunkten angezeigt. Das Problem ist, dass wenn ich einen Unterpunkt anwähle, werde ich zum entsprenchenden Seite weitergeleitet (richtig) aber die Unterpunkte verschwinden.
Z.B. folgendes Menü:
0 TENNIS
1 FOTOS
1.1 SPIELE
1.1.1 Erste Runde
1.1.2 Semifinal
1.1.3 Final
1.2 ANLÄSSE
2 BERICHTE

Wenn ich TENNIS anwähle werden FOTOS und BERICHTE angezeigt.
Wenn ich FOTOS anwähle werden SPIELE und ANLÄSSE angezeigt.
Wenn ich SPIELE anwähle werden Erste Runde, Semifinal und Final angezeigt.

Wenn ich aber Erste Runde, Semifinal oder Final anwähle, verschwinden die Unterpunkte und das Menü wird wie folgt angezeigt:
0 TENNIS
1 FOTOS
2 BERICHTE

Irgendeine Idee wie ich das Problem lösen kann?
Danke im Voraus.

Anbei der Quellcode
PHP:
<script type="text/javascript">
<!--
function outline(id)
{
 if(document.getElementById(id).style.display == 'none')
 {
  document.getElementById(id).style.display = 'block';
 }
 else
 {
  document.getElementById(id).style.display = 'none';
 }
}
//-->
</script>
<table cellpadding="0" cellspacing="0">
	<tr><td class="menu_title">&nbsp;&nbsp;<?php echo $menu_heading ?></td></tr>
	<tr><td class="x_separator"></td></tr>
<?php
	$search_sports = mysql_query("SELECT SPORT_ID, SPORT_$lang FROM sports_names ORDER BY SPORT_$lang ASC");
	$i = 0;
	while ($row = mysql_fetch_array($search_sports, MYSQL_NUM)) {
		$sports[$i][0] = $row[0];
		$sports[$i][1] = $row[1];
		if ($sports[$i][0] == $key_sport_id) {
?>
			<tr><td>
				<!--[if IE]>
  					<a href="sections.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="menu_active">&nbsp;&nbsp;<?php echo $sports[$i][1] ?></a>
				<![endif]-->
				<!--[if !IE]><!-->
					<a href="sections.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="menu_active_notIE">&nbsp;&nbsp;<?php echo $sports[$i][1] ?></a>
				<!--<![endif]-->
			</td></tr>	
<?php						
			$get_series_nr = mysql_query("SELECT SERIES_NR FROM series WHERE SPORT_ID LIKE '$key_sport_id'");
			$found = mysql_fetch_row($get_series_nr);
			if ($found) {
				$series_nr = mysql_result($get_series_nr,0,0);
?>
				<tr>
					<td class="submenu_no_link">
                    	&nbsp;•&nbsp;<a href="#" class="submenu_no_link" onClick="outline('<?php echo $sections_navigation_item_1 ?>'); return false;"><?php echo $sections_navigation_item_1 ?></a><br/>
                        <span id="<?php echo $sections_navigation_item_1 ?>" style="display:none">
<?php						
							$search_series = mysql_query("SELECT SERIES_NR, SERIES_NAME_$lang FROM series WHERE SPORT_ID LIKE '$key_sport_id' ORDER BY SERIES_NR DESC");
							$m = 0;
							while ($row = mysql_fetch_array($search_series, MYSQL_NUM)) {
								$key_series_nr = $row[0];
								$name_series[$m][1] = $row[1];
								$get_subseries_nr = mysql_query("SELECT SUBSERIES_NR FROM subseries WHERE SPORT_ID LIKE '$key_sport_id' AND SERIES_NR LIKE '$key_series_nr' ORDER BY SERIES_NR DESC");
								$found = mysql_fetch_row($get_subseries_nr);
								if ($found) {
									$subseries_nr = mysql_result($get_subseries_nr,0,0);
?>								
									&nbsp;&nbsp;&nbsp;<a href="#" class="submenu_no_link" onClick="outline('<?php echo $name_series[$m][1] ?>'); return false;"><?php echo $name_series[$m][1] ?></a><br>
									<span id="<?php echo $name_series[$m][1] ?>" style="display:none">
<?php						
										$search_subseries = mysql_query("SELECT SUBSERIES_NR, SUBSERIES_NAME_$lang FROM subseries WHERE SPORT_ID LIKE '$key_sport_id' AND SERIES_NR LIKE '$key_series_nr' ORDER BY SUBSERIES_NR DESC");
										$j = 0;
										while ($row = mysql_fetch_array($search_subseries, MYSQL_NUM)) {
											$key_subseries_nr = $row[0];
											$name_subseries[$j][1] = $row[1];
?>								
											<a href="photos.php?key_series_nr=<?php echo $key_series_nr ?>&key_subseries_nr=<?php echo $key_subseries_nr ?>" class="menu_series_link">&nbsp;&nbsp;»&nbsp;<?php echo $name_subseries[$j][1] ?></a>
<?php
											$j = $j + 1;
										}
?>
									</span>
<?php
								} else {
?>
									<a href="photos.php?key_series_nr=<?php echo $key_series_nr ?>&key_subseries_nr=0" class="menu_series_link">&nbsp;&nbsp;»&nbsp;<?php echo $name_series[$m][1] ?></a>
<?php									
								}
								$m = $m + 1;
							}
?>
						</span>   
					</td>
				</tr>
				<tr><td height="1"></td></tr>
<?php						
		} else {
?>
   				<tr><td>
					<!--[if IE]>
						<a href="photos.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="submenu_link">&nbsp;•&nbsp;<?php echo $sections_navigation_item_1 ?></a>
					<![endif]-->
					<!--[if !IE]><!-->
						<a href="photos.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="submenu_link_notIE">&nbsp;•&nbsp;<?php echo $sections_navigation_item_1 ?></a>
					<!--<![endif]-->	
				</td></tr>
<?php
			}
?>
			<tr><td>
				<!--[if IE]>
					<a href="documents.php?key_page=2" class="submenu_link">&nbsp;•&nbsp;<?php echo $navigation_item_4 ?></a>
				<![endif]-->
				<!--[if !IE]><!-->		
					<a href="documents.php?key_page=2" class="submenu_link_notIE">&nbsp;•&nbsp;<?php echo $navigation_item_4 ?></a>
				<!--<![endif]-->					
			</td></tr>
<?php
			if ($key_sport_id == 'KAN') {
?>
				<tr><td>
					<!--[if IE]>
						<a href="photos.php?key_sport_id=KAN&key_series_nr=1&key_subseries_nr=0" class="submenu_link">&nbsp;•&nbsp;<?php echo $navigation_item_12 ?></a>
					<![endif]-->
					<!--[if !IE]><!-->		
						<a href="photos.php?key_sport_id=KAN&key_series_nr=1&key_subseries_nr=0" class="submenu_link_notIE">&nbsp;•&nbsp;<?php echo $navigation_item_12 ?></a>
					<!--<![endif]-->					
				</td></tr>
                <tr><td>
					<!--[if IE]>
						<a href="reservation.php" class="submenu_link">&nbsp;•&nbsp;<?php echo $navigation_item_9 ?></a>
					<![endif]-->
					<!--[if !IE]><!-->		
						<a href="reservation.php" class="submenu_link_notIE">&nbsp;•&nbsp;<?php echo $navigation_item_9 ?></a>
					<!--<![endif]-->					
				</td></tr>
                <tr><td>
					<!--[if IE]>
						<a href="club_house.php" class="submenu_link">&nbsp;•&nbsp;<?php echo $navigation_item_10 ?></a>
					<![endif]-->
					<!--[if !IE]><!-->		
						<a href="club_house.php" class="submenu_link_notIE">&nbsp;•&nbsp;<?php echo $navigation_item_10 ?></a>
					<!--<![endif]-->					
				</td></tr>
                <tr><td>
					<!--[if IE]>
						<a href="trip_schedule.php" class="submenu_link">&nbsp;•&nbsp;<?php echo $navigation_item_11 ?></a>
					<![endif]-->
					<!--[if !IE]><!-->		
						<a href="trip_schedule.php" class="submenu_link_notIE">&nbsp;•&nbsp;<?php echo $navigation_item_11 ?></a>
					<!--<![endif]-->					
				</td></tr>
                <tr><td>
					<!--[if IE]>
						<a href="links_KAN.php" class="submenu_link">&nbsp;•&nbsp;<?php echo $navigation_item_5 ?></a>
					<![endif]-->
					<!--[if !IE]><!-->		
						<a href="links_KAN.php" class="submenu_link_notIE">&nbsp;•&nbsp;<?php echo $navigation_item_5 ?></a>
					<!--<![endif]-->					
				</td></tr>
<?php				
			}
		} else {
?>
			<tr><td>
				<!--[if IE]>
					<a href="sections.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="menu_link">&nbsp;&nbsp;<?php echo $sports[$i][1] ?></a>
				<![endif]-->
				<!--[if !IE]><!-->
					<a href="sections.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="menu_link_notIE">&nbsp;&nbsp;<?php echo $sports[$i][1] ?></a>
				<!--<![endif]-->
			</td></tr>
<?php
		}
		$i = $i + 1; 
	}
?>
	<tr><td height="10"></td></tr>	
</table>
 
Zuletzt bearbeitet von einem Moderator:
Setze deinen Quelltext bitte erstmal in die entsprechenden Tags, da ich bezweifle, dass sich sonst jemand mit deinem Quelltext beschäftigt. Momentan ist es wohl eher ein Quältext.
 
Es wäre wohl einfacher und unumständlicher gewesen, wenn du es mit [ PHP ] und [ /PHP ] umschlossen hättest.
 

Ok, aber zu dem Problem dass ich beschreibe, irgendeine Idee wie ich das lösen kann?

Danke im Voraus für deine Hilfe.

Ich habe gerade festgestellt, dass wenn ich bei den Links target="_blank" hinzufüge, verschwindet das Menü nicht mehr. Das ist wohl klar weil die Seite bleibt und eine neue (blank) geöffnet wird. D.h. das Problem ist mit dem Loading der Seite. Ich habe aber keine Ahnung wie ich schreiben soll, dass das Menü display werden muss....:(

Jede Hilfe wird willkommen !
 
Hallo

Anbei einen Code ein bisschen vereinfacht.
Das Problem ist wenn ich den Link folge und die Seite in die gleiche Seite geladen wird (target = self). Wie kann ich in der URL sagen dass das submenü nicht verschwunden sein sollte ? Irgendwie document.getElementById(id).style.display = 'block';

PHP:
<script type="text/javascript">
<!--
function outline(id)
{
 if(document.getElementById(id).style.display == 'none')
 {
  document.getElementById(id).style.display = 'block';
 }
 else
 {
  document.getElementById(id).style.display = 'none';
 }
}
//-->
</script>
<table cellpadding="0" cellspacing="0">
	<tr><td class="menu_title">&nbsp;&nbsp;<?php echo $menu_heading ?></td></tr>
	<tr><td class="x_separator"></td></tr>
<?php
	$search_sports = mysql_query("SELECT SPORT_ID, SPORT_$lang FROM sports_names ORDER BY SPORT_$lang ASC");
	$i = 0;
	while ($row = mysql_fetch_array($search_sports, MYSQL_NUM)) {
		$sports[$i][0] = $row[0];
		$sports[$i][1] = $row[1];
		if ($sports[$i][0] == $key_sport_id) {
?>
			<tr><td>
				<a href="sections.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="menu_active">&nbsp;&nbsp;<?php echo $sports[$i][1] ?></a>
			</td></tr>	
<?php						
			$get_series_nr = mysql_query("SELECT SERIES_NR FROM series WHERE SPORT_ID LIKE '$key_sport_id'");
			$found = mysql_fetch_row($get_series_nr);
			if ($found) {
				$series_nr = mysql_result($get_series_nr,0,0);
?>
				<tr>
					<td class="submenu_no_link">
                    	&nbsp;•&nbsp;<a href="#" class="submenu_no_link" onClick="outline('<?php echo $sections_navigation_item_1 ?>'); return false;"><?php echo $sections_navigation_item_1 ?></a><br/>
                        <span id="<?php echo $sections_navigation_item_1 ?>" style="display:none">
<?php						
							$search_series = mysql_query("SELECT SERIES_NR, SERIES_NAME_$lang FROM series WHERE SPORT_ID LIKE '$key_sport_id' ORDER BY SERIES_NR DESC");
							$m = 0;
							while ($row = mysql_fetch_array($search_series, MYSQL_NUM)) {
								$key_series_nr = $row[0];
								$name_series[$m][1] = $row[1];
								$get_subseries_nr = mysql_query("SELECT SUBSERIES_NR FROM subseries WHERE SPORT_ID LIKE '$key_sport_id' AND SERIES_NR LIKE '$key_series_nr' ORDER BY SERIES_NR DESC");
								$found = mysql_fetch_row($get_subseries_nr);
								if ($found) {
									$subseries_nr = mysql_result($get_subseries_nr,0,0);
?>								
									&nbsp;&nbsp;&nbsp;<a href="#" class="submenu_no_link" onClick="outline('<?php echo $name_series[$m][1] ?>'); return false;"><?php echo $name_series[$m][1] ?></a><br>
									<span id="<?php echo $name_series[$m][1] ?>" style="display:none">
<?php						
										$search_subseries = mysql_query("SELECT SUBSERIES_NR, SUBSERIES_NAME_$lang FROM subseries WHERE SPORT_ID LIKE '$key_sport_id' AND SERIES_NR LIKE '$key_series_nr' ORDER BY SUBSERIES_NR DESC");
										$j = 0;
										while ($row = mysql_fetch_array($search_subseries, MYSQL_NUM)) {
											$key_subseries_nr = $row[0];
											$name_subseries[$j][1] = $row[1];
?>								
											<a href="photos.php?key_series_nr=<?php echo $key_series_nr ?>&key_subseries_nr=<?php echo $key_subseries_nr ?>" class="menu_series_link">&nbsp;&nbsp;»&nbsp;<?php echo $name_subseries[$j][1] ?></a>
<?php
											$j = $j + 1;
										}
?>
									</span>
<?php
								} else {
?>
									<a href="photos.php?key_series_nr=<?php echo $key_series_nr ?>&key_subseries_nr=0" class="menu_series_link">&nbsp;&nbsp;»&nbsp;<?php echo $name_series[$m][1] ?></a>
<?php									
								}
								$m = $m + 1;
							}
?>
						</span>   
					</td>
				</tr>
				<tr><td height="1"></td></tr>
<?php						
			} else {
?>
   				<tr><td>
					<a href="photos.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="submenu_link">&nbsp;•&nbsp;<?php echo $sections_navigation_item_1 ?></a>
				</td></tr>
<?php
			}
		} else {
?>
			<tr><td>
				<a href="sections.php?key_sport_id=<?php echo $sports[$i][0] ?>" class="menu_link">&nbsp;&nbsp;<?php echo $sports[$i][1] ?></a>
			</td></tr>
<?php
		}
		$i = $i + 1; 
	}
?>
	<tr><td height="10"></td></tr>	
</table>
 
Also, muss ich in der URL den Name (id) eingeben ? So etwa ?
Es funktioniert aber noch nicht? muss ich irgendwo am Anfang id definieren



PHP:
<a href="#" class="submenu_no_link" onClick="outline('<?php echo $name_series[$m][1] ?>'); return false;"><?php echo $name_series[$m][1] ?></a><br>
<span id="<?php echo $name_series[$m][1] ?>" style="display:none">
<a href="photos.php?id=<?php echo $name_series[$m][1] ?>"><?php echo $name_subseries[$j][1] ?></a>
</span>
 
Du musst natürlich die ID verarbeiten, sprich, dass du je nach ID verschiedene Menüs einblendest.-
 
Wie meinst du?

Kann das funktionieren? ich meine, das mit dem URL weil das Menu wird angezeigt nur nach onclick....

Gibt es eine andere Möglichkeit so ein Menü darzustellen?
 

Neue Beiträge

Zurück