Probleme mit PHP Navigation, allg. Verständnisfrage

Mach aber bitte nicht etwas à la "ich-erspar-mir-Arbeit":
PHP:
<?php
/* ... */
include("./seiten/".$_GET['Seite']);
/* ... */
?>

Da ich nicht weiß, wie weit deine PHP Kenntnisse reichen.
Hier mal ein einfaches Beispiel:
*Download*

Falls du mit der relativen Pfadangabe, z.B. bei Bildern, Probleme haben solltest, dann benutze einfach die absolute.
 
Hi Leuts,

nochmal vielen Dank für eure Hilfe.

@ l0c4lh05t: Arbeit ersparen wollte ich mir eigentlich nicht, Ich will ja schließlich auch etwas lernen. Habe mir dein Bsp downgeloadet und werde damit mal experimentieren.

@ Orbit: Diese Idee hatte ich auch zuerst, aber wie splasch schon schrieb, würde die Index irre lang und groß werden. Wie gesagt ich habe vieeele Inhalte ;-)

@ splasch: wäre nett wenn du mir die Funktion zur Verfügung stellst. DB kommt für mich erst mal nicht in Frage, aber das mit xml zu lösen schon eher.

Das ärgerliche an der ganzen Sache ist, das ich derzeit in Toulouse in einem Hotel hocke mit einer mehr oder minder schlechten Internet-Anbindung. Ich hoffe aber im nächsten Monat ein eigenes Appartement zu haben. Natürlich, wie das immer so ist wenn man sich im Ausland aufhält, hat man nur das nötigste dabei, leider sind es nicht meine PHP Nachschlagewerke, so das sich das Suchen nach Informationen im Moment mehr schlecht als recht gestaltet. Aber es besteht Hoffnung.

Thx,
Gabster
 
Hier die Funktion mußt sie nur umschreiben für xml bzw abändern

PHP:
function baum($vater,$lpos) #vater welches menu wird gezeigt ; in lpos wird meine liste aufgebaut für den nächsten klick 
{ 
    global $link;  # Der Link zur DB durch global auch in der Funktion bekannt. 
    global $wahl;  # hier sind als Array die ids drin die aufgeklappt sind (kommt aus der var pos) 
    static $ebene = 0; # mit static erstelle ich eine Variable, die beim erneuten 
                        # Aufruf der Funktion den Wert aus der Vorgängerfunktion behält. 
                        # Die ist wichtig für die Rekursion. Der Startwert ist 0 und der 
                        # wird hochgezählt beim Neuaufruf. Wenn ich also im Menu bei Apfel bin, 
                        # ist der Wert bei 1. 

    $erg[$ebene] = mysql_query("SELECT * FROM `kategorie` WHERE On_off='j' and `Parent` = '$vater'order by K_sort",$link); 
    $menge = mysql_num_rows($erg[$ebene]); 
    # Das ist auch noch klar. Lese das aktuelle Menu aus der Datenbank aus und starte eine Schleife ... 
    for ($lo=0;$lo<$menge;$lo++) { 
        $row = mysql_fetch_row($erg[$ebene]);    # Den Menu Eintrag auslesen, in $row[1] == Kname
                                               # ist ja der menueintrag als text .. 
// Änderung für html link 
$Unterkat=str_replace(" ", "" , $row[1]);                                              
        $menu = '<a href="'.$Unterkat.$lpos.'_'.$row[0].'.html">'.$row[1].'</a><br>';
        # Hier bastel ich den Link zusammen. Am schwersten zu verstehen ist wohl 
        # pos=$lpos|$row[0]. 

        if ($ebene > 0) {    # Hier rücke ich einfach nur ein, je tiefer ich im Menu(Rekursion) 
                            # bin, umso mehr Leerzeichen vorne dran 
            echo str_repeat("&nbsp;&nbsp;",$ebene);  //$ebene ist anzahl der wiederholungen des Sring (&rArr;)
        		echo ("<img src=style/menu.GIF width=15 height=14 class=back >");
        } 
       
        echo $menu; 
        if ($row[0] == $wahl[$ebene+1]) { # Hier folgt der Aufruf der Funktion (ab in die Rekursion) 
            $ebene++; # ein Level hoch 
            baum($row[0],$lpos."_$row[0]"); // änderung von | auf _
            $ebene--; # und wieder ein Level runter 
        } 
    } 
} 
// Strings entwerten
$wahl=mysql_escape_string($_GET['pos']);
$wahl=str_replace("_","|",$wahl); // Für mod_rewrite zeichen übergabe wieder ändern
$wahl = explode("|",$wahl); # aus meiner pos mache ich ein array wahl - wahl[1] hat inhalt 1 

baum(0,""); # starte die Funktion, liste alles auf was als vater 0 hat 
$pos=mysql_escape_string($_GET['pos']); #Get dem anderen link zwischen speichern
if (sizeof($wahl) > 0) { # nur wenn wahl vorhanden ist 
    $id = $wahl[sizeof($wahl)-1]; # den letzten Eintrag von wahl ermitteln 
    # was anzuzeigen ist, aus db holen 
    $erg = mysql_query("SELECT `Kname` FROM `kategorie` WHERE `Kat_id`='$id'",$link) or die(mysql_error()); 
    $row = mysql_fetch_row($erg); 
    if ($row[0] != "") { 
// Im Haupteil laden
      $Kname=$row[0];  // Kname für Artikel &pos=".$pos."&".strip_tags(SID); 
    } 
}

Den Teil der kommentiert ist mit # nur wenn wahl vorhanden ist wirst du nicht brauchen kanste rausnehmen ist nur für meine Hp eine spezielle funktion die es Ermöglich den Pfad auch bei fremdlinks zu behalten.

Mfg Splasch
 
Zuletzt bearbeitet:
Hi Leuts,

nochmal danke für eure Hilfe.

@splasch: danke für die funktion. Werde ich mich in den nächsten Tagen erst mal mit beschäftigen.

Das Thema betrachte ich als erledigt. Habe jetzt genug Infos/Material, um das hinzubekommen.

Danke und Gruss aus Toulouse,
gabster
 
Zurück