SQL Menü indexlos
Was wird benötigt?
- header.php
- footer.php
- menü.php
header.php
<header>
Mein Titel hierhin
</header>
<nav>
<div id="nav-menue">
<a class="menue-button menue-button-open" href="#nav-menue">≡</a>
<a class="menue-button menue-button-zu" href="#">×</a>
<div id="menu">
<ul>
<nav>
<div id="nav-menue">
<a class="menue-button menue-button-open" href="#nav-menue">≡</a>
<a class="menue-button menue-button-zu" href="#">×</a>
<div id="menu">
<ul>
<?php
if(file_exists("menu.php"))
{
require("menu.php");
}
{
require("menu.php");
}
?>
</ul>
</div>
</div>
</nav>
<main>
</div>
</div>
</nav>
<main>
footer.php
</main>
<footer> Autor </footer>
</body>
</html>
<footer> Autor </footer>
</body>
</html>
menü.php
Tabelle für Datenbank Menü
CREATE TABLE test_menu
(
id int (11) NOT NULL AUTO_INCREMENT,
label varchar(30) NOT NULL,
link_url varchar(50) NOT NULL,
PRIMARY KEY (id)
);
(
id int (11) NOT NULL AUTO_INCREMENT,
label varchar(30) NOT NULL,
link_url varchar(50) NOT NULL,
PRIMARY KEY (id)
);
Tabelle befüllen mit einfacher Ausgabe
Tabelle befüllen
INSERT INTO test_menu ('id','label','link_url') VALUES
(1, 'Seite 1','seite1.php'),
(2, 'Seite 2','seite2.php'),
(3, ..., ... ),
(4, ..., ... ); // Letzte Zeile mit ;
(1, 'Seite 1','seite1.php'),
(2, 'Seite 2','seite2.php'),
(3, ..., ... ),
(4, ..., ... ); // Letzte Zeile mit ;
<?php
Datenbank abfrage
$stmt=$msql->prepare("SELECT label,ziel FROM test_menu");
$stmt->bind_result($label,$ziel);
$stmt->bind_result($label,$ziel);
$stmt=$pdo->prepare("SELECT label,ziel FROM test_menu");
$stmt->bindColumn(1,$label);
$stmt->bindColumn(2,$ziel);
$stmt->bindColumn(1,$label);
$stmt->bindColumn(2,$ziel);
$stmt->execute();
while($stmt->fetch())
{
$menu=array(
$label=>array($url),
);
$uri=basename(getenv("REQUEST_URI"));
foreach($menu as $main => $mainlink)
{
$x=count($mainlink);
if ($mainlink[0] == $uri && $x == 1)
{
echo'<li>'.$main.'</li>';
}
else if($x == 1)
{
echo'<li><a href="'.$mainlink[0].'">'.$main.'</a></li>';
}
}
}
while($stmt->fetch())
{
$menu=array(
$label=>array($url),
);
$uri=basename(getenv("REQUEST_URI"));
foreach($menu as $main => $mainlink)
{
$x=count($mainlink);
if ($mainlink[0] == $uri && $x == 1)
{
echo'<li>'.$main.'</li>';
}
else if($x == 1)
{
echo'<li><a href="'.$mainlink[0].'">'.$main.'</a></li>';
}
}
}
?>
seite.php
Das kommt in jede Seite die erstellt wird!
<?php
if(file_exists("header.php"))
{
require("header.php");
}
{
require("header.php");
}
?>
Hier kommt der Content der Seite hin.
<?php
if(file_exists("footer.php"))
{
require("footer.php");
}
{
require("footer.php");
}
?>
So sollte das Menü funktionieren:
php-indexlos
php-indexlos