Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Dynamische Navigation PHP Mysql Frage

Frage Entwicklung PHP

Mitglied: Professorbass

Professorbass (Level 1) - Jetzt verbinden

09.01.2010 um 13:19 Uhr, 3874 Aufrufe, 2 Kommentare

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:
01.
  
02.
<?php 
03.
function gettemplate($template,$endung="html"
04.
05.
return str_replace("\"","\\\"",implode("",file($template.".".$endung))); 
06.
07.
function dooutput($template) { 
08.
echo $template
09.
10.
 
11.
$head
12.
$nav
13.
$content
14.
$foot
15.
 
16.
$db = @new MySQLi('localhost', 'Benuzer', 'passw', 'datenbank'); 
17.
 
18.
 
19.
 $sql = 'SELECT 
20.
                menu_ID, 
21.
				menu_name 
22.
            FROM 
23.
                menu 
24.
			WHERE 
25.
				menu_topid=0 
26.
            ORDER BY 
27.
                menu_position ASC'; 
28.
		if (!$result = $db->query($sql)) { 
29.
        return $db->error; 
30.
31.
 
32.
$nav_array = array(); 
33.
$i = 0; 
34.
while ($nav_data = $result->fetch_assoc()) { 
35.
	$nav_array[$i] = array('menu_ID'=>$nav_data["menu_ID"], 'menu_name'=>$nav_data["menu_name"]); 
36.
	$i++; 
37.
38.
 
39.
$nav_id = (int) $_GET["nav_id"]; 
40.
if ($nav_id <= 0) { 
41.
	$nav_id = $nav_array[0]['menu_ID']; 
42.
43.
 
44.
 $sql = 'SELECT 
45.
                menu_ID, 
46.
				menu_topid, 
47.
				menu_position, 
48.
				menu_name, 
49.
				menu_page 
50.
            FROM 
51.
                menu 
52.
			WHERE 
53.
				menu_ID = $nav_id'; 
54.
		if (!$result = $db->query($sql)) { 
55.
        return $db->error; 
56.
57.
$page_data = $result->fetch_assoc(); 
58.
 
59.
$page_id = $page_data["menu_page"]; 
60.
 
61.
$child_array = array(); 
62.
$root_array = array(); 
63.
$invlevel = 1; 
64.
 
65.
 $sql = 'SELECT 
66.
                menu_ID, 
67.
				menu_topid, 
68.
				menu_name 
69.
            FROM 
70.
                menu 
71.
			WHERE 
72.
				menu_topid = $nav_id and `menu_display` != 0 
73.
            ORDER BY 
74.
                menu_position'; 
75.
		if (!$result = $db->query($sql)) { 
76.
        return $db->error;			 
77.
78.
$i = 0; 
79.
while ($subnav_data = $result->fetch_assoc()) { 
80.
	$child_array[$i] = array('menu_ID'=>$subnav_data["menu_ID"], 'menu_name'=>$subnav_data["menu_name"], 'menu_topid'=>$subnav_data["menu_topid"], 'level'=>$invlevel); 
81.
	$i++; 
82.
83.
 
84.
$next_topid = $page_data["menu_topid"]; 
85.
 
86.
 
87.
 
88.
while (($next_topid != 0 || $next_topid != false))	{ 
89.
 
90.
	$i = 0; 
91.
 
92.
	if(empty($child_array[0]["menu_topid"])) { 
93.
		$top_id = $nav_id
94.
	} else
95.
		$top_id = $child_array[0]["menu_topid"]; 
96.
97.
 
98.
 
99.
	$invlevel++; 
100.
 
101.
 $sql = 'SELECT 
102.
                menu_ID, 
103.
				menu_topid, 
104.
				menu_name 
105.
            FROM 
106.
                menu 
107.
			WHERE 
108.
				menu_topid = $next_topid and `menu_display` != 0 
109.
            ORDER BY 
110.
                menu_position ASC'; 
111.
		if (!$result = $db->query($sql)) { 
112.
        return $db->error; 
113.
114.
	while($subnav_data = $result->fetch_assoc()) { 
115.
 
116.
		$root_array[$i] = array('menu_ID'=>$subnav_data["menu_ID"], 'menu_name'=>$subnav_data["menu_name"], 'menu_topid'=>$subnav_data["menu_topid"], 'level'=>$invlevel); 
117.
		 
118.
		if($root_array[$i]["menu_ID"] == $top_id) { 
119.
 
120.
			$root_array = array_merge($root_array, $child_array); 
121.
			$i = count($root_array) - 1; 
122.
123.
		$i++; 
124.
125.
 
126.
	$child_array = $root_array
127.
	$root_array = array(); 
128.
 
129.
 
130.
 $sql = 'SELECT 
131.
                menu_topid 
132.
            FROM 
133.
                menu 
134.
			WHERE 
135.
				menu_ID = $next_topid and `menu_display` != 0 LIMIT 1'; 
136.
		if (!$result = $db->query($sql)) { 
137.
        return $db->error; 
138.
139.
	$subnav_data = $result->fetch_assoc(); 
140.
	$next_topid = $subnav_data["menu_topid"]; 
141.
 
142.
 
143.
144.
 
145.
 
146.
$anzlevel = $invlevel
147.
 
148.
$invlevel = 0; 
149.
$number = count($child_array); 
150.
 
151.
for($i = 0; $i < $number; $i++) { 
152.
	$invlevel = $child_array[$i]['level']; 
153.
	$child_array[$i]['level'] = $anzlevel - $invlevel + 1; 
154.
155.
 
156.
$subnav_array = $child_array
157.
 
158.
$sql = 'SELECT 
159.
                content_ID, 
160.
				content_title, 
161.
				content_text 
162.
            FROM 
163.
                content 
164.
			WHERE 
165.
				content_ID = $page_id'; 
166.
		if (!$result = $db->query($sql)) { 
167.
        return $db->error; 
168.
169.
	$data = $result->fetch_assoc(); 
170.
	$content_title = $data["content_title"]; 
171.
	$content_text = $data["content_text"]; 
172.
	 
173.
eval("dooutput(\"".gettemplate("templates/index")."\");"); 
174.
?>
Mitglied: dog
09.01.2010 um 16:32 Uhr
01.
function gettemplate($template,$endung="html") 
02.
03.
return str_replace("\"","\\\"",implode("",file($template.".".$endung))); 
04.
05.
 
06.
function dooutput($template) { 
07.
echo $template; 
08.
09.
[...] 
10.
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
Bitte warten ..
Mitglied: Professorbass
09.01.2010 um 21:59 Uhr
Ok ich mach das tutureal nochmal von vorne
danke für die schnelle antwort
Bitte warten ..
Ähnliche Inhalte
PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

Datenbanken
MySQL - Feld aus anderer Tabelle hinzusummieren? (3)

Frage von 1410640014 zum Thema Datenbanken ...

Exchange Server
Dynamische Verteilergruppe! (4)

Frage von justdan zum Thema Exchange Server ...

Exchange Server
Dynamische Verteilergruppe (9)

Frage von justdan zum Thema Exchange Server ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (28)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Humor (lol)
Aktuell keine IT Probleme (22)

Frage von lordofremixes zum Thema Humor (lol) ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...