Anzeigen:
Results 1 to 11 of 11

Thread: [PHP] Seiten-Baum

  1. #1
    dreamworker.de Senior
    Join Date
    07/2006
    Location
    Straubing
    Posts
    390

    [PHP] Seiten-Baum

    Hallo zusammen, mittlerweile kann ich ja schon sagen, dass ich PHP gut behersche. Aber ich bringe es einfach nicht zustande eine Navigation mit Untermenü in PHP zu erstellen. Ich habe ja nun schon öfter nach diesem Thema gefragt. Nun ein letztes mal.

    Hier zuerst der Code meiner Tabelle:
    Code:
    CREATE TABLE `bw__pages` (
      `id` int(11) unsigned NOT NULL auto_increment,
      `parent_id` int(11) NOT NULL default '0',
      `order` int(11) NOT NULL default '0',
      `title` varchar(100) collate latin1_german1_ci NOT NULL default '',
      `doctype` int(11) NOT NULL default '1',
      `url` varchar(100) collate latin1_german1_ci NOT NULL default '',
      `shortcut` int(11) NOT NULL default '0',
      `target` varchar(10) collate latin1_german1_ci NOT NULL default '',
      `deleted` int(11) NOT NULL default '0',
      `tstamp` int(11) NOT NULL default '0',
      `author_id` varchar(11) collate latin1_german1_ci NOT NULL default '',
      PRIMARY KEY  (`id`)
    )
    ENGINE          = MyISAM
    DEFAULT CHARSET = latin1
    COLLATE         = latin1_german1_ci
    AUTO_INCREMENT  = 1;
    Damit ihr euch auch die Elemnte der Navigation vorstellen könnt, poste ich zusätzlich noch die Inserts!
    Code:
    INSERT INTO `bw__pages` VALUES (1, 0, 256, 'root', 1, '', 0, '', 0, 1185787770, '1');
    INSERT INTO `bw__pages` VALUES (2, 1, 256, 'Startseite', 1, '', 0, '', 0, 1185787800, '1');
    INSERT INTO `bw__pages` VALUES (3, 1, 512, 'Produkte', 1, '', 0, '', 0, 1185787800, '1');
    INSERT INTO `bw__pages` VALUES (4, 1, 768, 'Leistungsbereiche', 1, '', 0, '', 0, 1185788077, '1');
    INSERT INTO `bw__pages` VALUES (5, 1, 1024, 'Unternehmen', 1, '', 0, '', 0, 1185788077, '1');
    INSERT INTO `bw__pages` VALUES (6, 1, 1280, 'Kontakt', 1, '', 0, '', 0, 1185788893, '1');
    INSERT INTO `bw__pages` VALUES (7, 3, 256, 'bwLight', 1, '', 0, '', 0, 1185789287, '1');
    INSERT INTO `bw__pages` VALUES (8, 3, 512, 'bwStandard', 1, '', 0, '', 0, 1185789287, '1');
    INSERT INTO `bw__pages` VALUES (9, 3, 768, 'bwProfi', 1, '', 0, '', 0, 1185789598, '1');
    INSERT INTO `bw__pages` VALUES (10, 3, 1024, 'bwShop', 1, '', 0, '', 0, 1185789598, '1');
    INSERT INTO `bw__pages` VALUES (11, 4, 256, 'Webdesign', 1, '', 0, '', 0, 1185789598, '1');
    INSERT INTO `bw__pages` VALUES (12, 4, 512, 'Grafikdesign', 1, '', 0, '', 0, 1185789598, '1');
    INSERT INTO `bw__pages` VALUES (13, 4, 768, 'Weiterbildung', 1, '', 0, '', 0, 1185789598, '1');
    INSERT INTO `bw__pages` VALUES (14, 5, 256, 'Das Team', 1, '', 0, '', 0, 1185790013, '1');
    INSERT INTO `bw__pages` VALUES (15, 5, 512, 'Referenzen', 1, '', 0, '', 0, 1185790013, '1');
    INSERT INTO `bw__pages` VALUES (16, 6, 256, 'Ansprechpartner', 1, '', 0, '', 0, 1185790156, '1');
    INSERT INTO `bw__pages` VALUES (17, 6, 512, 'Anfrageformular', 1, '', 0, '', 0, 1185790156, '1');
    INSERT INTO `bw__pages` VALUES (18, 6, 768, 'Impressum', 1, '', 0, '', 0, 1185790156, '1');
    INSERT INTO `bw__pages` VALUES (19, 6, 1024, 'Datenschutz', 1, '', 0, '', 0, 1185790156, '1');
    Mein Konzept zum PHP-Code sieht aus wie folgt:
    Zuerst sollten alle Elemnte abgreufen werden, die Level 1 haben (parent_id) 1. Dies sind die Haupt-Menü-Punkte. Soweit so gut. Das wäre noch kein Problem. Als nächstes sollen in Schleifen für jeden Haupt-Menü-Punkt die Unterpunkte und deren Unterpunkte abgerufen werden. Ich habe mir da auch schon öfter den Code von Gudula, der die Gruppierung von Daten beschreibt, zu Gemüte geführt, aber mit dem komme ich auch nicht weiter.
    Letztendlich sollen alle Elemente in einem Array hinterlegt werden.

    Wäre cool, wenn ihr euch noch ein letztes Mal mit diesem Thema beschäftigen würdet.
    Mfg, berti

    BeRo-Web

    Hiermit übernehme ich für alle meine Postings die volle Verantwortung.
    Ich bin ein mündiger Bürger und stehe daher für meine Handlungen selbst gerade.
    Was ich schreibe, ist meine Meinung, und nicht die der Forenbetreiber.

  2. #2
    die Gütige ... Gudula's Avatar
    Join Date
    04/2001
    Location
    aus dem Sauerland
    Posts
    10.342

    AW: [PHP] Seiten-Baum

    Hallo

    hast Du mal nach gegoogelt?
    Ich weiß, da gibt es Unmengen an Scirpts.

    Ich habe mal eines in ASP geschrieben

    http://www.pts.eu/aktuell/index.asp?f=47

    Immer wenn ein neuer Menüoberpunkt angeklickt wird, öffnet sich das entsprechende Untermenü. Wenn es das ist, was Du möchtest, dann beschreibe ich Dir gerne die Vorgehensweise. Allerdings verwende ich kein Ajax bzw. Javascript.
    Herzliche Grüße, Gudula
    per aspera ad astra
    Ich bin kein Klugscheißer, ich weiß es wirklich besser!

  3. #3
    dreamworker.de Senior
    Join Date
    07/2006
    Location
    Straubing
    Posts
    390

    AW: [PHP] Seiten-Baum

    Das ist ja egal. Hauptsache ich habe einen Seitenbaum. Ja gegoogelt hab ichs schon. Nur finde ich nichts passendes. Was aber auch daran liegen kann, dass mir keine richtigen Keywords einfallen
    Mfg, berti

    BeRo-Web

    Hiermit übernehme ich für alle meine Postings die volle Verantwortung.
    Ich bin ein mündiger Bürger und stehe daher für meine Handlungen selbst gerade.
    Was ich schreibe, ist meine Meinung, und nicht die der Forenbetreiber.

  4. #4

    AW: [PHP] Seiten-Baum

    @Gudula

    Das ist zumindest genau was ich brauche. Habe 3 Ebenen (fest) und verzichte daher bisher auf Rekursion.

    Tabelle hat folgende Struktur:

    id parent_id title


    wobei id ein eindeutiger Wert is, parent_id die übergeordnete Kategorie speichert und title der anzuzeigende menütitel ist.

    Bsp.:

    id parent_id title

    1 0 Produkte
    2 1 Kaffee
    3 1 Tee
    4 3 Pfefferminz
    5 3 Hagebutte
    6 0 Service
    7 6 Kontakt
    8 6 Anfahrt
    ...............................................


    usw.


    Das Menü soll aus verschachtelten Listen bestehen.

    Bsp.:

    <ul>
    <li>Produkte</li>
    <ul>
    <li>Kaffee</li>
    <li>Tee</li>
    <ul>
    <li>Pfefferminz</li>
    <li>Hagebutte</li>
    </ul>
    </ul>
    <li>Service</li>
    <ul>
    <li>Kontakt</li>
    <li>Anfahrt</li>
    </ul>
    </ul>


    Dabei wir die id per GET-Methode übergeben um die zu selektierende Seite bestimmen.

    Die Funktion sieht wie folgt aus:

    PHP Code:
        function public_navigation() {
            if(
    intval($_GET['page'])) {
                
    $sel_page $_GET['page'];
            }
            else
            {
                
    $sel_page '';
            }
            
    $output '<ul>';
            
    $output .= '<li><a href="index.php"';
            if(!isset(
    $_GET['page'])) {
                
    $output .= ' class="selected"';
            }
            
    $output .= '>Home</a></li>';    
            
    $toppage_set get_top_pages();
            while(
    $toppage mysql_fetch_array($toppage_set)) {
                
    $output .= '<li><a href="index.php?page=' urlencode($toppage['id']) . '"';
                if(
    $toppage['id'] == $sel_page) {
                    
    $output .= ' class="selected"';
                }
                
    $output .= '>' htmlentities($toppage['title']) . '</a></li>';
                
    $middlepage_set get_middle_pages($toppage['id']);
                
    $output .= '<ul>';
                while(
    $middlepage mysql_fetch_array($middlepage_set)) {
                    
    $output .= '<li><a href="index.php?page=' urlencode($middlepage['id']) . '"';
                    if(
    $middlepage['id'] == $sel_page) {
                        
    $output .= ' class="selected"';
                    }
                    
    $output .= '>' htmlentities($middlepage['title']) . $toppage['id'] . $middlepage['id'] . '</a></li>';
                    
    $bottompage_set get_bottom_pages($middlepage['id']);
                    
    $output .= '<ul>';
                    while(
    $bottompage mysql_fetch_array($bottompage_set)) {
                        
    $output .= '<li><a href="index.php?page=' urlencode($bottompage['id']) . '"';
                        if(
    $bottompage['id'] == $sel_page) {
                            
    $output .= ' class="selected"';
                        }
                        
    $output .= '>' htmlentities($bottompage['title']) . '</a></li>';
                    }
                    
    $output .= '</ul>';
                }
                
    $output .= '</ul>';
            }
            
    $output .= '</ul>';
            return 
    $output;
        } 
    Die zweite und dritte while-Schleife dürfen also nur ausgeführt werden, wenn jeweils ein Oberpunkt selektiert ist. Ich hatte bis jetzt immer das Problem nicht über die zweite Ebene hinauszukommen und selbst da klappte das Menü wieder zu sobald ich einen ersten Unterpunkt (wie z.B. Kaffee) ausgewählt habe.

    Habe folgende Möglichkeit bereits versucht:

    Oberhalb von
    PHP Code:
    $middlepage_set get_middle_pages($toppage['id']); 
    ein
    PHP Code:
    if($toppage['id'] == $sel_page
    eingefügt.

    Das zeigt zumindest die jeweilige zweite Ebene an. Aber ich komme einfach nicht auf die nächste Bedingung, damit das Menü beim Klick auf einen Unterpunkt geöffnet bleibt...

    Ich hoffe mir kann jemand helfen.

    Grüße

    shebdabe

    PS: Ja, der erste Menüpunkt ist fest in die Navigation verankert. Es soll später noch ein Mini-CMS gebaut werden, mit dem alle Seiten außer "Home" bearbeitet werden können. Diese Seite ist also immer der erste Listenpunkt (nicht wundern).
    Last edited by shebdabe; 01.08.2007 at 14:00.

  5. #5
    dreamworker.de Senior
    Join Date
    07/2006
    Location
    Straubing
    Posts
    390

    AW: [PHP] Seiten-Baum

    Hallo zusammen. Also den Anfand des Script habe ich jetzt einmal. Der ist ja nicht weiter schwierig.

    PHP Code:
    <?php

        $link 
    mysql_connect("""""")
            or die (
    "Can not connect: "mysql_error());
        
    mysql_select_db(""$link)
            or die (
    "Can not select database: "mysql_error());

        
    $sql "SELECT * FROM `bw__pages` WHERE `parent_id` = '1' ORDER BY `order` ASC";
        
    $result mysql_query($sql)
            or die (
    "Can not query: "mysql_error());

        if (
    mysql_num_rows($result) > 0) {
            print 
    "<ul>\n";
            while (
    $row mysql_fetch_assoc($result)) {
                print 
    "<li><a href=\"menu.php?pageid="$row['id'] ."\">"$row['title'] ."</a></li>\n";
            }
            print 
    "</ul>\n";
        }

    ?>
    So und nun zur weitern Überlegung. Wenn ich jetzt in dem Teil in dem die Liste ausgegeben wird, für jeden Menüpunkt überprüfe, ob ein Untermenü vorhanden ist, sollte ich doch zumindest schoneinmal eine 2. Ebene machen können!? Oder?
    Mfg, berti

    BeRo-Web

    Hiermit übernehme ich für alle meine Postings die volle Verantwortung.
    Ich bin ein mündiger Bürger und stehe daher für meine Handlungen selbst gerade.
    Was ich schreibe, ist meine Meinung, und nicht die der Forenbetreiber.

  6. #6
    die Gütige ... Gudula's Avatar
    Join Date
    04/2001
    Location
    aus dem Sauerland
    Posts
    10.342

    AW: [PHP] Seiten-Baum

    Hallo

    dies ist die Funktion auf meiner Seite. Allerdings in ASP geschrieben. Das ganze spielt sich eigentlich nur in der SQL ab und es durchläuft nur eine Schleife.

    Code:
    <% sub NavigationExLinks
    sql = "SELECT a.id, a.ueberschrift, b.navtext, " & _
    		"b.uid,a.sort,b.wid,a.navlink,b.navlink as nLink,b.id as bid "
    sql = sql & "FROM navigation AS a LEFT JOIN  "
    sql = sql & "[select b.id,b.navlink, b.uid,b.navtext,b.wid,b.usort "
    sql = sql & "FROM navigation as b where b.uid=" & f & " and b.inaktiv = false " & _
    			"and b.rechte >=" & uRechte & "]. AS b " 
    sql = sql & "ON a.id = b.uid WHERE a.uid=0 and a.bereich = 0 " & _
    			"and inaktiv = false and a.rechte >=" & urechte 
    sql = sql & " order by sort,b.usort"
    
    set rsNav = getDiscRS(sql&what,getneu)
    
    Response.write "<div id=""liMitte""></div>" 
    
    while not rsNav.eof
    if isempty(str) or str <> rsNav("sort") or str = "" then
    pfeil = "<img src=""../images/pfeil.gif"" alt="""" border=""0"" />"
    Response.write "<div><a class=""nl"" href=""" & repLinkZeichen(rsNav("navlink")) & _
    	ersetzeZeichen(rsnav("navlink")) &  _
    	"f=" & rsNav("id") & """>"& pfeil & " " & rsNav("ueberschrift") & "</a></div>"
    str = rsNav("sort")
    end if
    if rsnav("uid") <> "0" then
    delim="?"
    if instr(rsnav("nlink"),"?")>0 then delim = "&amp;"
    	if cstr(p) = cstr(rsnav("bid")) then
    		Response.write "<div class=""navLink"">" & rsNav("navtext") & "</div>"
    	else
    		Response.write "<div> <a class=""nav"" " & _
    			"href=""" & repLinkZeichen(rsNav("nlink")) & delim & "p=" & RsNav("bid") & """>" & rsNav("navtext") & "</a></div>"
    	end if
    end if
    rsNav.movenext
    wend
    rsnav.close
    set rsnav=nothing
    end sub %>
    UID ist in dem Falle die parent_id
    Die Tabelle ist ähnlich die von Shebdabe
    die Werte von p und f liegen in sessions, wobei f zuerst den Wert vom QueryString bekommt, welcher dann bis zur Übergaben des nächsten QueryStrings in einer Session bleibt.
    Last edited by Gudula; 01.08.2007 at 17:26.
    Herzliche Grüße, Gudula
    per aspera ad astra
    Ich bin kein Klugscheißer, ich weiß es wirklich besser!

  7. #7
    dreamworker.de Senior
    Join Date
    07/2006
    Location
    Straubing
    Posts
    390

    AW: [PHP] Seiten-Baum

    hallo gudula. danke ersteinmal für den code. zu meinem bedauern muss ich zugeben, dass meine asp-kenntnisse nicht sehr weitreichend sind.

    aber ich habe noch eine frage. mitlerweile bin ich soweit, dass ich ein untermenü mit 2 ebenen erstellen kann. ich habe eben einfach die funktion eingebaut, wie ich sie oben erklärt habe. aber wie kann ich das erweitern, sodass ich unbegrenzt oder zumindest 10 unterebenen erstellen kann? schleifen?

    ps: tut mir leid, dass ich alles klein schreibe, aber im auto gehts so besser:schlumpf
    Mfg, berti

    BeRo-Web

    Hiermit übernehme ich für alle meine Postings die volle Verantwortung.
    Ich bin ein mündiger Bürger und stehe daher für meine Handlungen selbst gerade.
    Was ich schreibe, ist meine Meinung, und nicht die der Forenbetreiber.

  8. #8
    die Gütige ... Gudula's Avatar
    Join Date
    04/2001
    Location
    aus dem Sauerland
    Posts
    10.342

    AW: [PHP] Seiten-Baum

    Hallo

    da muss ich passen, ich habe mich auch noch nicht damit beschäftigt. Ich weiß auch nicht, ob das Sinn macht, 10 Unterebenen zu haben, ich finde immer, 2 sind ausreichend. Der User muss auch die Übersichtlichkeit behalten.

    Google mal in einschlägigen php-Foren nach Treemenü oder rekusiv oder Baummenü, Du wirst da garantiert Lösungen finden.

    Meine Navigationen müssen immer folgende Featurens haben

    1. parent_id, so dass man sie rekursiv auslesen kann.
    2. sie sollten eine Auswahl haben, in welchem Bereich sie ausgelesen wird, z.B. in einem Menü auf der Linken seite oder noch im Footer, ob nur für den internen Bereich (Rechtevergabe) etc.
    3. Sie soll dafür genutzt werden, das man sehen kann, wo man sich gerade befindet.
    Herzliche Grüße, Gudula
    per aspera ad astra
    Ich bin kein Klugscheißer, ich weiß es wirklich besser!

  9. #9
    dreamworker.de Senior
    Join Date
    07/2006
    Location
    Straubing
    Posts
    390

    AW: [PHP] Seiten-Baum

    Hallo. Guten morgen. Ja genau das wären auch meine Absichten.

    Ich habe ein Problem mit folgendem Script:
    PHP Code:
    <?php

        
    if (isset ($_GET['pageid']) && $_GET['pageid'] != 0) {
            
    $pageid $_GET['pageid'];
        } else {
            
    $pageid 0;
        }

        
    $link mysql_connect("""""")
            or die (
    "Can not connect: "mysql_error());
        
    mysql_select_db(""$link)
            or die (
    "Can not select database: "mysql_error());

        
    $sql "SELECT * FROM `bw__pages` WHERE `parent_id` = '1' ORDER BY `order` ASC";
        
    $result mysql_query($sql)
            or die (
    "Can not query: "mysql_error());

        if (
    mysql_num_rows($result) > 0) {
            print 
    "<ul>\n";
            for (
    $i 0$i mysql_num_rows($result); $i++) {
                if (
    $pageid == $row['id']) {
                    
    $sql "SELECT * FROM `bw__pages` WHERE `parent_id` = '"$row['id'] ."' ORDER BY `order` ASC";
                    
    $res mysql_query($sql)
                        or die (
    "Can not query: "mysql_error());
                    if (
    mysql_num_rows($res) > 0) {
                        
    $content "<ul>\n";
                        for (
    $a 0$a mysql_num_rows($res); $a++) {
                            
    $row_sub mysql_fetch_assoc($res);
                            
    $content .= "<li>("$row_sub['id'] .") <a href=\"menu.php?pageid="$row_sub['id'] ."\">"$row_sub['title'] ."</a></li>\n";
                        }
                        
    $content .= "</ul>\n";
                    }
                } else {
                    
    $content '';
                }

                
    $row mysql_fetch_assoc($result);
                print 
    "<li>("$row['id'] .") <a href=\"menu.php?pageid="$row['id'] ."\">"$row['title'] ."</a>"$content ."</li>\n";
            }
            print 
    "</ul>\n";
        }

    ?>
    Unzwar: Wenn ich auf einen Oberpunkt klicke, soll das dazugehörige Untermenü abgerufen werden. Und hier liegt das Problem. Wenn ich auf einen Oberpunkt klicke, wird zwar ein Oberpunkt abgerufen, aber leider der falsche. Wenn ich z.b. auf den 2. Oberpunkt klicke, dann wird das Untermenü des 2. Oberpunkts zwar abgerufen, aber beim dritten Oberpunkt als Untermenü angezeigt und nicht beim zweiten, wie beabsichtigt!
    Mfg, berti

    BeRo-Web

    Hiermit übernehme ich für alle meine Postings die volle Verantwortung.
    Ich bin ein mündiger Bürger und stehe daher für meine Handlungen selbst gerade.
    Was ich schreibe, ist meine Meinung, und nicht die der Forenbetreiber.

  10. #10
    die Gütige ... Gudula's Avatar
    Join Date
    04/2001
    Location
    aus dem Sauerland
    Posts
    10.342

    AW: [PHP] Seiten-Baum

    Hallo

    schau Dir nochmal die SQL von meinem obigen Scirpt an. Auch wenn es ASP ist, die SQL ist da auch nicht anders.

    Hier wird die Tabelle Navigation mit sich selbst verglichen. Die 1. Tabelle ruft alle Oberpunkte auf, also wo uid oder parent_id = 0 ist. Über den left join werden nun die Punkte aus dem 2. Aufruf der Tabelle dazugelistet, die in der Bedingung angesprochen sind, also where uid = 1. Die Ausgabe sieht dann so aus:

    id uid txt
    1 0 xx
    2 1 xxx
    3 1 xxx
    4 0 xxx
    5 0 xxx
    6 0 xxx

    Und hier setze ich das Script zum Gruppieren von Datenausgabe an, sh. FAQ. Und so öffnet sich halt immer die Unternativation an der richtigen Stelle. Der Rest ist eigentlich nur Kosmetik.
    Herzliche Grüße, Gudula
    per aspera ad astra
    Ich bin kein Klugscheißer, ich weiß es wirklich besser!

  11. #11
    dreamworker.de Senior
    Join Date
    07/2006
    Location
    Straubing
    Posts
    390

    AW: [PHP] Seiten-Baum

    Anzeigen:
    Hallo. Also ich habe das ganze Menü jetzt einmal in eine Klasse gepackt. Funkltioniert auch soweit alles gut. Nun gehts mir nur noch darum, was ich verbessern könnte. Jede Kritik wird gerne angenommen

    Der Code:
    PHP Code:
    <?php

        
    /**
         * @author      Adalbert Rohr <ad.rohr@bero-web.de>
         * @version     Version 1.0, 2007-08-02
         */
        
    class bwEngine
        
    {
            
    /**
             * ID der aktuellen Seite
             *
             * @access      public
             * @var         integer
             */
            
    var $pageid;


            
    /**
             * ID des aktuellen Oberpunktes
             *
             * @access      public
             * @var         interger
             */
            
    var $rootpageid;


            
    /**
             * Aktuelle Page- und Rootpageid setzen
             *
             * @access      public
             * @author      Adalbert Rohr <ad.rohr@bero-web.de>
             * @param       integer $pageid
             * @version     Version 1.0, 2007-08-02
             * @return      void
             */
            
    function setId($pageid)
            {
                
    $db NewADOConnection(ADODB_DB_TYPE);
                
    $db->Connect(BW_MYSQL_HOSTBW_MYSQL_USERBW_MYSQL_PASSBW_MYSQL_DATA);

                
    $this->pageid $pageid;

                
    $sql "SELECT * FROM `"BW_MENU_TBL ."` WHERE `id` = '"$this->pageid ."' LIMIT 1";
                
    $res $db->Execute($sql);
                if (
    $res->RecordCount() > 0) {
                    
    $row $res->FetchRow();
                    
    $rootid $row['parent_id'];
                }

                
    $this->rootpageid $rootid;
            }


            
    /**
             * Navigationselemente aus der Datenbank abrufen
             *
             * @access      public
             * @author      Adalbert Rohr <ad.rohr@bero-web.de>
             * @version     Version 1.0, 2007-08-02
             * @return      string $content
             */
            
    function getNavigationCode()
            {
                
    $db NewADOConnection(ADODB_DB_TYPE);
                
    $db->Connect(BW_MYSQL_HOSTBW_MYSQL_USERBW_MYSQL_PASSBW_MYSQL_DATA);

                
    $sql "SELECT * FROM `"BW_MENU_TBL ."` WHERE `parent_id` = '1' ORDER BY `order` ASC";
                
    $res $db->Execute($sql);
                if (
    $res->RecordCount() > 0) {
                    
    $content '<ul>';
                    while (
    $row $res->FetchRow()) {
                        
    $sql "SELECT * FROM `"BW_MENU_TBL ."` WHERE `parent_id` = '"$row['id'] ."' ORDER BY `order` ASC";
                        
    $res_sub $db->Execute($sql);^

                        if (
    $res_sub->RecordCount() > 0) {
                            
    $_content '<ul>';
                            while (
    $row_sub $res_sub->FetchRow()) {
                                if (
    $this->pageid == $row_sub['id']) $class 'sub_active';
                                else 
    $class 'sub_normal';

                                switch (
    $row_sub['doctype']) {
                                    case 
    1// Normal link
                                        
    $_content .= '<li>'makeBWLink($row_sub['title'], 'menu.php'$row_sub['id'], $class$row_sub['target']) .'</li>';
                                        break;
                                    case 
    3// External link
                                        
    $_content .= '<li><a class="'$class .'" href="'$row_sub['url'] .'" target="'$row_sub['target'] .'">'$row_sub['title'] .'</a></li>';
                                        break;
                                }
                            }
                            
    $_content .= '</ul>';
                        } else {
                            
    $_content '';
                        }

                        if (
    $row['id'] == $this->pageid || $row['id'] == $this->rootpageid$class 'active';
                        else 
    $class 'link';

                        switch (
    $row['doctype']) {
                            case 
    1// Normal link
                                
    $content .= '<li>'makeBWLink($row['title'], 'menu.php'$row['id'], $class$row['target']) . $_content .'</li>';
                                break;
                            case 
    2// Shortcut
                                
    $content .= '<li>'makeBWLink($row['title'], 'menu.php'$row['shortcut'], $class$row['target']) . $_content .'</li>';
                                break;
                            case 
    3// External link
                                
    $content .= '<li><a class="'$class .'" href="'$row['url'] .'" target="'$row['target'] .'">'$row['title'] .'</a>'$_content .'</li>';
                                break;
                        }
                    }
                    
    $content .= '</ul>';
                }

                return 
    $content;
            }


            
    /**
             * Breadcrumb-Navigation erstellen
             *
             * @access      public
             * @author      Adalbert Rohr <ad.rohr@bero-web.de>
             * @version     Version 1.0, 2007-08-02
             * @return      string $content
             */
            
    function getBreadcrumbNavigation()
            {
                
    $db NewADOConnection(ADODB_DB_TYPE);
                
    $db->Connect(BW_MYSQL_HOSTBW_MYSQL_USERBW_MYSQL_PASSBW_MYSQL_DATA);
            }


            
    /**
             * Link für ein Navigationselement erzeugen
             *
             * @access      public
             * @author      Adalbert Rohr <ad.rohr@bero-web.de>
             * @param       string $title
             * @param       string $url
             * @param       integer $pageid
             * @param       string $class
             * @param       string $target
             * @version     Version 1.0, 2007-08-02
             * @return      string $link
             */
            
    function makeBWLink($title$url$pageid$class ''$target '')
            {
                
    $title  = empty ($title) ? 'no_title_defined' $title;
                
    $url    = empty ($url) ? '#' $url;
                
    $pageid = empty ($pageid) ? '?pageid='$this->pageid '?pageid='$pageid;
                
    $class  = empty ($class) ? '' ' class="'$class .'"';
                
    $target = empty ($target) ? '_self' $target;

                
    $link '<a'.$class.' href="'$url $pageid .'" onmouseover="window.status=\'beroweb\'; return true;" onclick="this.blur();" target="'$target .'">'$title .'</a>';

                return 
    $link;
            }
        }

    ?>
    Mfg, berti

    BeRo-Web

    Hiermit übernehme ich für alle meine Postings die volle Verantwortung.
    Ich bin ein mündiger Bürger und stehe daher für meine Handlungen selbst gerade.
    Was ich schreibe, ist meine Meinung, und nicht die der Forenbetreiber.

Similar Threads

  1. Entfernung der Seiten aus Google
    By Claudia Schmitt in forum Suchmaschinenoptimierung (SEO)
    Replies: 2
    Last Post: 25.06.2007, 13:54
  2. Anfänger: kunden sollen ihre seiten selbst pflegen können
    By hmpf99 in forum Adobe Dreamweaver
    Replies: 6
    Last Post: 04.06.2007, 18:31
  3. Layout: CSS wird nicht von allen Seiten gelesen
    By TELIP in forum Adobe Dreamweaver
    Replies: 5
    Last Post: 17.02.2007, 12:36
  4. [PHP] Untermenü auf verschiedenen Seiten
    By wOnk in forum Serverseitige Programmierung
    Replies: 2
    Last Post: 16.11.2006, 22:45

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •