![]() |
navigation aus mysql datenbank über mehrere order ebenen
ich steht vor folgendem problem:
bin grad dabei eine website zu basteln. die einträge für die navigation kommen aus einer mysql datenbank. das geschieht deshalb weil je nach benutzer (admin, user) verschiedene navigations-punkte sichtbar sind oder nicht. die tabelle für in der db für die navigation ist folgendermaßen aufgebaut: ID "..." NAVIPUNKT "startseite" LINK "start.php" USER "true" //true oder false je nach berechtigung ADMIN "true" ein link sieht dann so aus: das ganze geht solange gut solange ich keine unterordner habe. sobald es unter order gibt und ich diese in die db-tabelle eintrage funkts natürlich nicht mehr. irgendwelche lösungs ansätze? ich steh nämlich komplett am schlauch :( |
wo genau ist da jetzt das Problem?
schreib statt LINK "start.php" LINK "ordner/start.php" rein. Oder meinst du, du findest aus einem Unterordner nicht wieder zurück in den Hauptordner? |
genau da liegt das problem.
wennst einmal in einen unterordner bist kommst nicht mehr raus. denn aus der db komm "ordner/start.php" und wennst im unterordner bist dann hat der link den href "ordner/ordner/start.php" |
1. Möglichkeit:
mit absoluten URLs arbeiten 2. Möglichkeit: - den aktuellen Pfad auslesen (mit getenv("SCRIPT_NAME") ) - Daraus auslesen in welchen Ordner du dich befindest/ob du dich einen Ordner befindest (durchsuchen des SCRIPT_NAME nach "/", Ordernamen, Skriptnamen, etc.) - Hinzufügen von "../" vor die URL mfg Thomas |
mit absoluten urls will ich nicht arbeiten weils das testen am localen server erschwert ;-)
den befehl getenv() hab ich bis jetzt noch nicht gebraucht, aber damit könnts funktionieren. werds am we testen und dann das ergebnis hier posten. vorerst mal danke :) |
Du könntest ja mit "pseudoabsoluten" (juhu, neues Wort) URLs arbeiten. Dh. du speicherst den Anfang der URL in irgendnen Config-File und speicherst nur wie gehabt den Ordner/Dateinamen in der Datenbank.
mfg Thomas ps: Mehr Info zu getenv -> http://at.php.net |
das php manual ist eh fast mein bester freund, nur wennst net weißt wost zum suchen anfangen mußt hilfts dir halt auch net viel :D
|
hab mir diese funktion geschrieben und damit funkts! danke für den tipp
PHP-Code:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag