problem mit navigation über array

laempisch

Erfahrenes Mitglied
Hallo zusammen,

ich habe ein Problem, mit meiner Navigation, die wie folgt aussieht.

PHP:
 <?php 
  // Array, das Navi Inhalte enthält

  $menue = array(
  		array("<img src='img/navi/01_00_home.gif' border='0'>",     100), // Hauptrubrik
    
 	    array("<img src='img/navi/02_00_unternehmen.gif' border='0'>",   200), // Hauptrubrik	

		array("<img src='img/navi/02_01_geschichte.gif' border='0'>",   201), // Unterrubrik
		array("<img src='img/navi/02_03_werksfuehrung.gif' border='0'>",   203), // Unterrubrik
 	 );
  
 	 // Diese Funktion erstellt ein Link

  	function verweis($nr,$name) {
  	  global $PHP_SELF;
 	   return "<a href='$PHP_SELF?hauptrubrik=$nr'>".$name."</a>";
 	 }
  
 	 // Prüft, welche Hauptrubrik geöffnet wird

	  if(!$hauptrubrik) $hauptrubrik = 1;
 	 else {
 	   $rubrik = $hauptrubrik;
 	   $hauptrubrik = substr($hauptrubrik,0,1);
 	 }
  
 	 // Eine Schleife, die das "menue"-Array durchgeht

 	 // Ausgabe je nach Bedingung

 	 for($i=0;$i<sizeof($menue);$i++) {
 	   // Ausgabe der Hauptrubriken (Teilbar durch 100)  

 	   if($menue[$i][1]%100==0) {
 	     echo verweis($menue[$i][1],$menue[$i][0])."<br>";
 	   }
 	   // Ausgabe der Unterrubriken (Nicht teilbar durch 100 und)

 	   if(substr($menue[$i][1],0,1)==$hauptrubrik && $menue[$i][1]%100) {
 	     echo "".verweis($menue[$i][1],$menue[$i][0])."<br>";
 	   }
  
	  }
	?>

die inhalte werden dann in einer anderen Tabelle folgendermassen ausgelesen:

PHP:
           <?PHP
		if($rubrik==100) {
  	  readfile("content/01_00_home.inc");
	  } elseif($rubrik==200) {
	  readfile("content/02_00_unternehmen.inc");
 	 } elseif($rubrik==201) {
 	  readfile("content/02_01_geschichte.inc");
 	 } elseif($rubrik==202) {
 	  readfile("content/02_02_portrait.inc");
 	 } 
	  ?>


Die Scripte sind nur zur Veranschaulichung.

jetzt habe ich eine kleine Datenbank programmiert und möchte die unter einem Menüpunk einbinden. Die Inhalte sind in einem Ordner "DB" abgelegt. Wenn ich jetzt den Link einfach von "content/02_02_portrait.inc" auf "db/uebersicht.php?rubrik_id=1" ändere bekomme ich nichts angezeigt. Hat jemand eine Idee woran das liegen könnte. Wenn ich die Datenbank dierekt ausführe klappts.

Vielen Dank schonmal.
 
Zuletzt bearbeitet:
wieso nutzt du zum auslesen der navigatioinsinhalte readfile?
wenn du *.inc dateien hast (der name .inc führt von include her :)), dann nutze das doch auch so
Code:
include("content/01_00_home.inc");

wenn du reinen html-code in deinen *.inc's hast, kannst du natürlich auch auch readfile nehmen, falls du aber in den *.inc's php-code hast wird dieser mit readfile nicht verarbeitet :)
 
:-( wenn ich die php Datei in *.inc umbenenne bekomme ich leider nix angezeigt. Mach ich noch was falsch

Vielleicht liegt es ja an der Ordnerstruktur?

Meine index.php liegt im root
die datenbank im Verzeichnis "db"
die Dateien mit dem Inhalt im Verz. "content"
 
:-( Wenn ich den kompletten Pfad im readfile der php Datei angebe, bekomme ich zwar eine Ausgabe. Leider ist jetzt das Design total verschoben :-( *verzweifel*

Mit include bekomme ich leider immer noch keine Ausgabe.
 
Hab jetzt was mit fopen probiert. Funktioniert aber leider nicht.

PHP:
elseif($rubrik==400) {
 	  fopen ("http://www.test.de/test/db/beispiel.php", "r");

hat jemand noch nen Tip
 
Hallo Daniel,

warum machst du nicht einfach include? Poste doch mal, was in den files drin steht. Sollte es HTML sein, wird es ausgegeben und PHP-Code wird geparst und entsprechend ausgegeben.
 
also in meiner testdatenbankstartseite stht folgender code:

PHP:
<?php
session_start();
if(isset($user_eingeloggt));
else $user_eingeloggt = false;

include "config.php";

dateianfang();


		$kerzenrubrik_query = "SELECT * FROM kerzenrubrik";
		$kerzenrubrik_abfrage = mysql_query($kerzenrubrik_query) or die($db_fehler);
		
		while ($line_kerzenrubrik = mysql_fetch_array($kerzenrubrik_abfrage, MYSQL_ASSOC)) {
			printf("<a href='uebersicht.php?kerzenrubrik_id=%s'>%s</a><br>",$line_kerzenrubrik["id"],$line_kerzenrubrik["rubrik"]);
			}
		

if($user_eingeloggt == false) echo "<br><br><a href='session_start.php'>Admin Login</a><br>(Beispielaccount: test / test)";
else echo"<br><br><a href='session_destroy.php'>Admin Logout</a>";

?>

in meiner uebersicht.php steht folgender code:

PHP:
<?php
session_start();
if(isset($user_eingeloggt));
else $user_eingeloggt = false;

/* INCLUDES */
 
 include("config.php");
 dateianfang();

/* DATENBANK ABFRAGE */

 $befehl = "SELECT kerzen.* , kerzenrubrik.rubrik
            FROM   kerzen
            INNER JOIN kerzenrubrik   ON kerzenrubrik.id   = kerzen.rubrik
            WHERE kerzen.rubrik = '$kerzenrubrik_id'";

            
 $abfrage = mysql_query($befehl) or die($db_fehler);
 
/* AUSGABE ÜBERSICHT */ 
 
 echo"<table border='0' align='center' width='325' cellspacing='15' cellpadding='0'>";
 $count=0;
 while ($line = mysql_fetch_array($abfrage, MYSQL_ASSOC)) {
 $count++;
 if($count==1) printf("<tr><td align='center'><b>%s</b></td></tr>",$line["rubrik"]); 
 else;
 
 echo"<tr>";
 echo"<td align='center' bgcolor='$farbe_tabelle3'>";

	   echo "<table border='0' align='center' bgcolor='$farbe_tabelle3' width='325'><tr>";

	   echo"<td bgcolor='$farbe_tabelle2' width='120'><b>Kerzennummer</b></td>
	   ";
	   printf("<td bgcolor='$farbe_tabelle2' width='200'>%s</td>", $line["int_id"]);
	   echo"</tr><tr>
	   <td bgcolor='$farbe_tabelle2' width='120'><b>Details:</b></td>";
	   printf("<td bgcolor='$farbe_tabelle2' align='center' valign='top' width='200'><a href=\"javascript: NeuesFenster('photo.php?id=%s','Detailansicht','height=470, width=58');\"><img src='%s%s%s' height='100' border='0'></a></td>",$line["id"],$directory,$line["bildname"],$line["extension"]);
	 
                  
                   if($user_eingeloggt)
                   {
            	   $id=$line["id"];
            	   echo"</tr><tr><td bgcolor='$farbe_tabelle2' width='120'><b>Admin:</b></td>";
            	   print"<td bgcolor='$farbe_tabelle2' align='center' valign='top' width='320'><a href='edit.php?id=$id' target='_blank'>Bearbeiten</a> | <a href='del.php?id=$id' target='_blank'>Löschen</a></td>";
            	   }
            	   else;
            	   
	   echo "</tr></table></td>";
 
     echo"</tr>";
	} 
 echo "</table></td></tr></table>";
 
 if($user_eingeloggt)
 {
 echo "<br><center><b>Admin:</b><br><a href='eintragen.php' target='_blank'>Neuer Eintrag</a><br></center>";
 }
 else;
 
 mysql_free_result($abfrage);
 
dateiende();

?>
 
Zurück