Ausgabe eines mehrdimensionalen assoziativen Arrays

J1M1

Erfahrenes Mitglied
Tag!

Ich habe ein großes kleines Problem:

Ich sitze am Navigationsmenü. Meine Idee ist, dass der Menüpunkt für die aktuelle Seite nicht mehr als Link angezeigt wird. D.h., habe ich z.B. die Seite für das Gästebuch aufgerufen, damm soll Gästebuch nicht mehr als Hyperlink angezeigt werden. Das will ich aber nicht alles per Hand machen, sondern es automatisieren. Ich habe mal ein Versuch gestartet, der leider scheitert.
PHP:
//Holen der Parameter die über Hyperlink gesendet wurden
$page = "";
$page = $_GET['page'];
//
$sub_dir = "";
$sub_dir = $_GET['sub_dir'];
//
$file = "";
$file = $_GET['file'];


$array = array();
//Home
$array[0]["page"] = "Home";  
$array[0]["index"] = "home.php";
//Gästebuch
$array[1]["page"] = "Gästebuch";
$array[1]["index"] = "guestbook.php";
//Private Nachrichten
$array[2]["page"] = "Private Nachrichten";
$array[2]["index"] = "priv_msg_show.php";
//Mitteilung
$array[3]["page"] = "Mitteilung";
$array[3]["index"] = "news_view.php";
//Adressbuch
$array[4]["page"] = "Adressbuch";
$array[4]["index"] = "adressbook.php";
//Photogallerie
$array[5]["page"] = "Photogallerie";
$array[5]["index"] = "photo_view.php";

for($i=0;i<count($array);$i++){
if($array[$i]['page']==$page){
echo "".$array[$i]['page']."";
}
else{
echo "<a href=index.php?page=$array[$i]['page']&file=$array[$i]['index']>".$array[$i]['page']."</a>";
}
}

include("$page/$sub_dir$file");

Anmerkung: Der Name der Ordner sind IDENTISCH mit ihrem jeweiliegen Thema, d.h. der Name des Ordners für die Gästebuchdateien heißt "Gästebuch", der Name des Ordners für die Adressbuchdateien heißt dann z.B. "Adressbuch".


Mein Problem:
1. Der ausgegebene Link heißt dann
"index.php?page=Array['page']&file=Array['index']", und nicht wie es sein
sollte wie z.B. bei Home: "index.php?page=Home&file=home.php".
Warum?

2. Es kommt immer die Fehlermeldung:
Fatal error: Maximum execution time of 10 seconds exceeded in
/usr/export/www/vhosts/funnetwork/hosting/meetpoint/index.php on line
49
Dabei ist die Zeile 49: "for($i=0;i<count($array);$i++){"...

Kann mir jemand bei diesen zwei Problemen aushelfen?

MfG J!M!
 
Probier mal Folgendes:
PHP:
<?php

	$menuItems = array(
		// Home
		array( 
			'label' => 'Home',
			'file'  => 'home.php'
		),
		// Gästebuch
		array(
			'label' => 'Gästebuch',
			'file'  => 'guestbook.php'
		),
		// Private Nachrichten
		array(
			'label' => 'Private Nachrichten',
			'file'  => 'priv_msg_show.php'
		),
		// Mitteilung
		array(
			'label' => 'Mitteilung',
			'file'  => 'news_view.php'
		),
		// Adressbuch
		array(
			'label' => 'Adressbuch',
			'file'  => 'adressbook.php'
		),
		// Photogallerie
		array(
			'label' => 'Photogalerie',
			'file'  => 'photo_view.php'
		)
	);

	$page = isset($_REQUEST['page'])
		? $_REQUEST['page']
		: $menuItems[0]['label'];
	$key = 0;

	echo '<ul id="nav">';
	foreach( $menuItems as $key => $value ) {
		echo '<li>';
		if( $value['label'] == $page ) {
			echo $value['label'];
			$item = $key;
		} else {
			echo '<a href="/index.php?page='.$value['label'].'">'.$value['label'].'</a>';
		}
		echo '</li>';
	}
	echo '</ul>';

	var_dump( $menuItems[$item]['file'] );

?>
 
Zurück