professorbass
Goto Top

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:
 
<?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")."\");");  
?>

Content-Key: 133031

Url: https://administrator.de/contentid/133031

Printed on: May 4, 2024 at 20:05 o'clock

Member: dog
dog Jan 09, 2010 at 15:32:50 (UTC)
Goto Top
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
Member: Professorbass
Professorbass Jan 09, 2010 at 20:59:00 (UTC)
Goto Top
Ok ich mach das tutureal nochmal von vorne
danke für die schnelle antwort