Dynamische Navigation PHP Mysql Frage
Ich breuchte hilfe beim anpassen dieses scripts an mein Template.
Ich habe dieses script anhand eines tutorials gemacht .
Aber da war keine rede von dem Template!!!
Hilfe
Hallo
Dieses script habe ich gemacht enhand eines tutorials.
Nur in diesem tutorial stande nix davon wie das Template ausehen müsste kein beispiel.
Mein Problem ist nun wie ich das an ein von mir vorbereitetes Template, Layout anpasse.
Kan mir da jemand behilflich sein Bitte.
Ich verzweifle langsam
Danke im voraus.
Hier das Skript mit dem von mier vorbereiteten Template daten:
Ich habe dieses script anhand eines tutorials gemacht .
Aber da war keine rede von dem Template!!!
Hilfe
Hallo
Dieses script habe ich gemacht enhand eines tutorials.
Nur in diesem tutorial stande nix davon wie das Template ausehen müsste kein beispiel.
Mein Problem ist nun wie ich das an ein von mir vorbereitetes Template, Layout anpasse.
Kan mir da jemand behilflich sein Bitte.
Ich verzweifle langsam
Danke im voraus.
Hier das Skript mit dem von mier vorbereiteten Template daten:
<?php
function gettemplate($template,$endung="html")
{
return str_replace("\"","\\\"",implode("",file($template.".".$endung)));
}
function dooutput($template) {
echo $template;
}
$head =
$nav =
$content =
$foot =
$db = @new MySQLi('localhost', 'Benuzer', 'passw', 'datenbank');
$sql = 'SELECT
menu_ID,
menu_name
FROM
menu
WHERE
menu_topid=0
ORDER BY
menu_position ASC';
if (!$result = $db->query($sql)) {
return $db->error;
}
$nav_array = array();
$i = 0;
while ($nav_data = $result->fetch_assoc()) {
$nav_array[$i] = array('menu_ID'=>$nav_data["menu_ID"], 'menu_name'=>$nav_data["menu_name"]);
$i++;
}
$nav_id = (int) $_GET["nav_id"];
if ($nav_id <= 0) {
$nav_id = $nav_array['menu_ID'];
}
$sql = 'SELECT
menu_ID,
menu_topid,
menu_position,
menu_name,
menu_page
FROM
menu
WHERE
menu_ID = $nav_id';
if (!$result = $db->query($sql)) {
return $db->error;
}
$page_data = $result->fetch_assoc();
$page_id = $page_data["menu_page"];
$child_array = array();
$root_array = array();
$invlevel = 1;
$sql = 'SELECT
menu_ID,
menu_topid,
menu_name
FROM
menu
WHERE
menu_topid = $nav_id and `menu_display` != 0
ORDER BY
menu_position';
if (!$result = $db->query($sql)) {
return $db->error;
}
$i = 0;
while ($subnav_data = $result->fetch_assoc()) {
$child_array[$i] = array('menu_ID'=>$subnav_data["menu_ID"], 'menu_name'=>$subnav_data["menu_name"], 'menu_topid'=>$subnav_data["menu_topid"], 'level'=>$invlevel);
$i++;
}
$next_topid = $page_data["menu_topid"];
while (($next_topid != 0 || $next_topid != false)) {
$i = 0;
if(empty($child_array["menu_topid"])) {
$top_id = $nav_id;
} else {
$top_id = $child_array["menu_topid"];
}
$invlevel++;
$sql = 'SELECT
menu_ID,
menu_topid,
menu_name
FROM
menu
WHERE
menu_topid = $next_topid and `menu_display` != 0
ORDER BY
menu_position ASC';
if (!$result = $db->query($sql)) {
return $db->error;
}
while($subnav_data = $result->fetch_assoc()) {
$root_array[$i] = array('menu_ID'=>$subnav_data["menu_ID"], 'menu_name'=>$subnav_data["menu_name"], 'menu_topid'=>$subnav_data["menu_topid"], 'level'=>$invlevel);
if($root_array[$i]["menu_ID"] == $top_id) {
$root_array = array_merge($root_array, $child_array);
$i = count($root_array) - 1;
}
$i++;
}
$child_array = $root_array;
$root_array = array();
$sql = 'SELECT
menu_topid
FROM
menu
WHERE
menu_ID = $next_topid and `menu_display` != 0 LIMIT 1';
if (!$result = $db->query($sql)) {
return $db->error;
}
$subnav_data = $result->fetch_assoc();
$next_topid = $subnav_data["menu_topid"];
}
$anzlevel = $invlevel;
$invlevel = 0;
$number = count($child_array);
for($i = 0; $i < $number; $i++) {
$invlevel = $child_array[$i]['level'];
$child_array[$i]['level'] = $anzlevel - $invlevel + 1;
}
$subnav_array = $child_array;
$sql = 'SELECT
content_ID,
content_title,
content_text
FROM
content
WHERE
content_ID = $page_id';
if (!$result = $db->query($sql)) {
return $db->error;
}
$data = $result->fetch_assoc();
$content_title = $data["content_title"];
$content_text = $data["content_text"];
eval("dooutput(\"".gettemplate("templates/index")."\");");
?>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 133031
Url: https://administrator.de/contentid/133031
Ausgedruckt am: 26.11.2024 um 05:11 Uhr
2 Kommentare
Neuester Kommentar
function gettemplate($template,$endung="html")
{
return str_replace("\"","\\\"",implode("",file($template.".".$endung)));
}
function dooutput($template) {
echo $template;
}
[...]
eval("dooutput(\"".gettemplate("templates/index")."\");");
Ich bin grade echt verleitet das an http://thedailywtf.com/ zu schicken, weil es einfach so gnadenlos schlecht ist.
Ein Tipp: Wenn du eval() benutzt machst du in 99,9% der Fälle was falsch.
Und was den Rest vom Code angeht: Fang lieber noch mal von vorne an - und dann bitte mit erträglicher Formatierung und Kommentaren.
Sorry, aber das Chaos da ist wirklich Folter und deine Fragestellung so Wischiwaschi, dass da keine Hilfe möglich ist.
Grüße
Max