Verzeichnisbaum aus MySQL holen

julia29

Erfahrenes Mitglied
Hallo,

innerhalb eines Kundenbereiches möchte ich im Stammdatensatz des Nutzers ein voreingestelltes Verzeichnis zuweisen.
Also schreibe ich in meiner MySQL im Feld "verzeichbaum" den Feldinhalt..: /bereich2/nav.html

In meinem HTML-Frame "rah1.php" habe ich in Spalte1 "nav.html" und in Spalte2 "adressdetails.php"

Kunde loggt sich erfolgreich ein, die "rah1.php" mit den beiden Spalten wird geöffnet. Ich möchte nun jedoch keine feste html in Spalte1 mehr, sondern die html die in der MySQL für diese Kundengruppe hinterlegt ist, also " /bereich4/nav9.html". Es würde sich dann mein Verzeichnisbaum und die Datei ändern.
Wie muss ich das schreiben wenn die Dateisteuerung aus der Datenbank kommen soll?

hier mein HTML-Frame

HTML:
<HTML> 
<HEAD>
   <TITLE>rah1.php</TITLE>
</HEAD>
<FRAMESET COLS="18%,82%" FRAMEBORDER=1>
<NOFRAMES><BODY BGCOLOR="#FFFFFF">
<P>Diese Seite wird in Browsern angezeigt, die Rahmen nicht
unterst&uuml;tzen. Bearbeiten Sie diese Seite in diesem Modus, um sie
f&uuml;r solche Browser anzupassen. F&uuml;r Browser, die Rahmen
unterst&uuml;tzen, entwerfen Sie Ihre Seite im Rahmen
bearbeiten-Modus.
</BODY>
</NOFRAMES>
   <FRAME SRC="nav.htm" NAME=S1 MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
   <FRAME SRC="adressdetails.php" NAME=S2 MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
</FRAMESET>
</HTML>

Kann mir einer helfen wie ich das am einfachsten umsetze?

Julia
 
Der SQL-Befehl könnte wie folgt aussehn:
SQL:
SELECT verzeichbaum FROM tabelle WHERE nutzer = 'xyz' LIMIT 1;
Wolltest du das wissen, oder wie der ganze Code dazu aussieht? Wenn ja, dann müsstes du kurz mal deine Struktur der DB wiedergeben damit man sich daran orientieren kann...
 
Zuletzt bearbeitet von einem Moderator:
Der SQL-Befehl könnte wie folgt aussehn:
SQL:
SELECT verzeichbaum FROM tabelle WHERE nutzer = 'xyz' LIMIT 1;
Wolltest du das wissen, oder wie der ganze Code dazu aussieht? Wenn ja, dann müsstes du kurz mal deine Struktur der DB wiedergeben damit man sich daran orientieren kann...

Hallo SnEaKy,

nee - ich glaube so nicht.
Die Suche in der Datenbank ist ja schon gelaufen. Die Adressendetails werden in unter Spaltenname S2 ja schon alle richtig ausgegeben. Ich bräuchte jetzt nur noch eine Lösung für die Spalte S1, also oben im HTML-Code
PHP:
bei "....<FRAME SRC="nav.htm" NAME=S1 MARGINWIDTH..."
dort müsste statt "nav.htm" der Feldname (verzeichbaum) rein.

PHP:
etwa so "....<FRAME SRC=[verzeichbaum] NAME=S1 MARGINWIDTH..."

Ich denke ich muss da noch einen php-Teil haben, damit der Feldwert überhaupt umgesetzt werden kann.
Wie schreibe ich den Code dazu ?
 
Zuletzt bearbeitet von einem Moderator:
Hi,

Ich denke ich muss da noch einen php-Teil haben, damit der Feldwert überhaupt umgesetzt werden kann.

Ja, genau. Und in diesem musst Du erstmal einen Select machen, wie Sneaky schon vorgeschlagen hat. Du kannst Dir in adressdetails.php ja anschauen wie sowas geht. Und in der betreffenden Zeile brauchst dann nur noch:

PHP:
<FRAME SRC="<?php echo $row['verzeichnisbaum'] ?>" NAME=S1 MARGINWIDTH ...

LG
 
habe ich mal versucht aber die Spalte1 bleibt noch leer, nein weiss.
Das Feld wird in der "adressdetails.php" in Spalte2 korrekt ausgegeben.

Hier mal den aktuellen Code
PHP:
<HTML> 
<HEAD>
   <TITLE>rah1.php</TITLE>
</HEAD>
<?php
// session_start (); 
$Link=mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxx");

$Query = "SELECT * 
	FROM tabelle
	WHERE 'adrnr'
	LIMIT 1";
$result = mysql_query($Query) or die(mysql_error());
?>
<FRAMESET COLS="18%,82%" FRAMEBORDER=1>
<NOFRAMES><BODY BGCOLOR="#FFFFFF">
<P>Diese Seite wird in Browsern angezeigt, die Rahmen nicht
unterst&uuml;tzen. Bearbeiten Sie diese Seite in diesem Modus, um sie
f&uuml;r solche Browser anzupassen. F&uuml;r Browser, die Rahmen
unterst&uuml;tzen, entwerfen Sie Ihre Seite im Rahmen
bearbeiten-Modus.
</BODY>
</NOFRAMES>
   <FRAME SRC="<?php echo $_SESSION['user_verzeichbaum']; ?>" NAME=S1 MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
   <FRAME SRC="adressdetails.php" NAME=S2 MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
</FRAMESET>
</HTML>

Da vorher die Datei nicht gefunden wurde (Fehlermeldung) hatte ich den kompletten Pfad mit "http://www.domain.de/verzeich1/verzeich2/nav5.htm" in der Datenbank eingetragen. Jetzt ist die Fehlermeldung weg aber die nav5.htm wird trotzdem noch nicht dargestellt.
Was kann ich machen?
 
In deiner $Query hast du eine WHERE-Abfrage eingebaut,die aber gar keinen Wert abfragt. -> 1.Fehler

Dann greifst du auf eine Session-Variable zu, die aber in deinem Quellcode nirgendwo deklariert wird. -> 2.Fehler

Wenn du eine SQL-Abfrage machst, wär eine Schleife von Vorteil, die die Ergebnismenge auch auslesen kann. Das würde so in etwa aussehen.
PHP:
while ($row = mysql_fetch_assoc($result)) {
    echo $row['user_verzeichbaum'];
}
 
Zurück