Fehler? : Menu automatisiert

Dominik Holz

Grünschnabel
Hallo Leute!
Ich habe momentan eine Website in bearbeitung und da wird das Menü komplett über Datenbank gemacht. Nun habe ich einen Script gemacht, welchen Das menü und seine unterpunkte auslesen lässt. Das funktioniert auch ganz gut, nur erzeugt der code mir für jeden unterpunkt ein neues Menüfeld:

Kategorie
Unterpunkt
Kategorie
UnterPunkt

Kategorie
Kategorie
Kategorie

PHP:
<table width=200px>
<?php

// Connecting to Database
include("style/includes/config.php");

// Getting menu items from DB
$result = mysql_query("SELECT * FROM `menu_kategorien` ORDER BY `orderid` ASC") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
$result2 = mysql_query("SELECT * FROM `menu_punkte` WHERE kategorie = '$row[kategorie]' ORDER BY `orderid` ASC") or die(mysql_error());
while($ro = mysql_fetch_array($result2)) {
if($seite == $row['kategorie']){
$neu = $row['kategorie'];
?>
<tr><td bgcolor=FFFFFFFF><font size=-4><br></font>
<a id="navi-t" href="<?php echo"".$row['link'].""; ?>.html"><?php echo"$neu"; ?></a><br>
<?php
if($ro['icon'] == ""){
echo"<a id=\"navi\" href=\"".$ro['link'].".html\">&middot;&nbsp;".$ro['titel']."&nbsp;</a><br>";
}elseif($ro['icon'] != ""){
echo"<a id=\"icon\" href=\"".$ro['link'].".html\"><img align=\"top\" src=\"style/images/icons/".$ro['icon']."\" border=\"0\">&nbsp;".$ro['titel']."&nbsp;</a><br>";
}
echo"<font size=-4><br></font>
</td></tr>";
}else{
echo"
<tr><td>
<a id=\"navi2\" href=\"".$row['link'].".html\">".$row['kategorie']."</a><br>
</td></tr>";
}
}
}
?>
</table>

Ich hab schon vieles gesehen, aber ich wies hier nicht mehr weiter!

Ich Danke schon im Voraus!

Grüße
Dominik
 
Zuletzt bearbeitet:
Hi Dominik
Willkommen im Forum.

Zu deinem Code, in dem wir einen Fehler finden sollen:

Aua. Bitte formatiere mal dein Code, dann kann man ev. knapp erkennen was da im Code abgehen soll. Aber so wie er jetzt da steht, ohne Tabs etc. muss man Klammern über zig Zeilen zählen um herauszufinden was in welcher Schleife drin ist. Kein Wunder dass du den Durchblick nicht mehr hast.

Vergleich mal selber, wie man Fehler besser findet.
Beispiel 1:
PHP:
<table><tr><?php
if($a == 1){
for($i=1;$i<3;$i++){
if($myArray[$i]==$b){
?><td>Hallo Welt</td></tr><?php
}}
?></tr><td>und noch ganz viel Text, denn a ist <b><?php echo $a; ?></b>. Schön, nicht war?</td></tr><tr><td><?php
echo $b; ?>: Judihui und Hopsassa</td></tr><?php
}?></table>

Beispiel 2
PHP:
<table>
<?php
	if($a == 1){
		for($i=1;$i<3;$i++){
			if($myArray[$i]==$b){
				echo "<tr><td>Hallo Welt</td></tr>";
			}
		}
		echo "</tr><td>und noch ganz viel Text, denn a ist <b>{$a}</b>. Schön, nicht war?</td></tr>";
		echo "<tr><td>{$b} Judihui und Hopsassa</td></tr>";
	}
?>
</table>


Zu deinem Problem:
Auf die Schnelle sehe ich den Fehler nicht und für weitere Analyse fehlt mir jetzt um Mitternacht die Zeit dienen Code
a) zu formatieren
b) mich da hinein zu vertiefen
c) herauszufinden was du eigentlich haben möchtest

Wenn ich morgen Zeit finde, setz ich mich mal dran
 
Zurück