Problem mit Verweise in Navigationsboxen

Skalde

Grünschnabel
Hallo,

ich hoffe das mir jemand weiterhelfen kann. Wie bekomme ich die zweite foreach-Schleife so hin, daß ich damit die Links für die Boxen bestimmen kann. So wie Sie jetzt ist, werden die Boxen wie geplant aufgeführt, aber in jeder Box sind dann auch die selben Links.

PHP:
<?php
// Navigationsboxen
    $navbox[0] = "NavBox 1";
    $navbox[1] = "NavBox 2";

// Verweise in den Navigationsboxen
    $link['seite1'] = "Seite 1";
    $link['seite2'] = "Seite 2";
// ...

    foreach ($navbox as $navhead)
    {
        echo "<div id=\"navigation\">\n";
        echo ".:: ".$navhead."<br />\n";
            foreach ($link as $key => $link_name)
            {
                echo "<a href=\"index.php?section=".$key."\">".$link_name."</a>\n";
                echo "<br />";
            }
        echo "</div>\n";
    }
?>

MfG Skalde
 
Definiere doch neben den Beschriftungen als Elementwerte die Adressen doch als Elementschlüssel oder umgekehrt, sodass Beschriftung und Adresse in Beziehung zueinander stehen.
 
Danke erstmal für Deine schnelle Antwort, das Problem ist, das in jeder Box die selben Links stehen, also so:

.:: NavBox 1
Seite 1
Seite 2

.:: NavBox 2
Seite 1
Seite 2

...und was müsste ich nu machen, wenn ich die Links Seite 1 in der ersten Box und Seite 2 in der zweiten Box angezeigt haben will.


MfG Skalde
 
Zuletzt bearbeitet:
Am besten arbeitest du nur mit einem Array:
PHP:
<?php

	$array = array(
		'Box 1' => array(
			'Beschriftung 1' => 'Adresse 1',
			'Beschriftung 2' => 'Adresse 1',
			…
			'Beschriftung n' => 'Adresse n'
		),
		…
		'Box n' => array(
			'Beschriftung 1' => 'Adresse 1',
			'Beschriftung 2' => 'Adresse 1',
			…
			'Beschriftung n' => 'Adresse n'
		)
	);

	foreach( $array as $box => $elements ) {
		echo '<div>'.$box.'<ul>';
		foreach( $elements as $key => $value ) {
			echo '<li><a href="'.htmlspecialchars($value).'">'.htmlspecialchars($key).'</a></li>';
		}
		echo '</li></div>';
	}

?>
Die Listen kannst du anschließend mit CSS formatieren. (Siehe auch verwandtes Thema)
 
Zurück