Dynamisches Menü aus Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dynamisches Menü aus Datenbank

    hi.

    Habe die suche schon bemüht aber nix wirklich förderliches gefunden.

    Also mal zur Schilderung der Sachlage:
    Ich möchte ein Menü mit Ebenen und Mouseover realisieren. Die Topics und subTopics (also die eigentlichen Links) sollen aus einer Datenbank kommen.

    Wie baue ich am besten die Tabelle auf, damit das ganze leicht zu administrieren ist? Und wie platziere ich die Ebenen so, dass alle im richtigen Verhältnis zu einander stehen? (Aufbau waagerecht)

    Danke für alle konstruktiven Beiträge.
    Nimroy
    Es gibt mindestens 10 Menschen, die Binär-Zahlen lesen können. Dich und mich.

  • #2
    mein beispiel: www.freizeit-planen.de .

    meine lösung: nur eine tabelle, in der alle menüpositionen / links enthalten sind.
    topic 1 heisst 10, die subtopics dazu sind 1010, 1020, 1030
    topic 2 heisst 20, dazu 2010 2020 etc.

    die sprünge sind da, um ggf. nochmal was dazwischen zu setzen.

    bei der überschaubaren menüstruktur, die ja relativ langlebig sein sollte (die besucher sollen die umgebung wieder erkennen), habe ich mir relationale tabellen gespart. (ich habe meine originaldaten in excel, kann da noch ein paar prüfungen machen, lade dann csv-daten in die datenbank)

    geht sicher feiner, ist halt ein verhältnis von aufwand zu nutzen. und nachdenken über die strukturen muss man eh.
    gruss oskar40

    kapieren - nicht kopieren

    Kommentar


    • #3
      @oskar
      du solltest deinen class="navi" 's mal ein padding verpassen... ;-)
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        @ abraxax
        was soll das bewirken? sachlich oder geschmackssache?
        gruss oskar40

        kapieren - nicht kopieren

        Kommentar


        • #5
          Erst mal schönen Dank. Habe mir dein Beispiel angeguckt und festgestellt, dass ich mich etwas unklar ausgedrückt habe.

          Bei MouseOver sollen die Subtopics nach unten gehend eingeblendet werden.

          Wie fragst du denn deine Tabelle ab, soll heißen wie sortierst du Topics und SubTopics?
          Es gibt mindestens 10 Menschen, die Binär-Zahlen lesen können. Dich und mich.

          Kommentar


          • #6
            so sehen die ersten felder aus:
            CREATE TABLE `control` (
            `cid` int(10) unsigned NOT NULL auto_increment,
            `typ` varchar(5) NOT NULL default '',
            `eb1` tinyint(3) default NULL,
            `eb2` tinyint(3) default NULL,
            `eb3` tinyint(3) default NULL,
            `eb4` tinyint(3) default NULL,
            `eb5` tinyint(3) default NULL,
            `txt` varchar(60) NOT NULL default '',
            `url` varchar(255) default NULL,
            ...
            (die anderen felder sind vorsorglich drin, noch nicht genutzt)

            eb1 bis eb5 entspricht deinen topics/subtopics/subsub...
            mehr als 5 erwarte ich nicht, genutzt werden jetzt 3


            und so sehen die inhalte aus:
            INSERT INTO `control` VALUES (1, 'navi', 10, 0, 0, 0, 0, 'Titelseite', '/index.php', 'xxx', '1', 288);
            INSERT INTO `control` VALUES (2, 'navi', 10, 10, 0, 0, 0, 'Leute mit Freizeit', '/index.php#Leute mit Freizeit', 'xxx', '1', 0);
            INSERT INTO `control` VALUES (3, 'navi', 10, 20, 0, 0, 0, 'Anbieter', '/index.php#Anbieter', 'xxx', '1', 0);
            ...
            gruss oskar40

            kapieren - nicht kopieren

            Kommentar


            • #7
              Original geschrieben von oskar40
              @ abraxax
              was soll das bewirken? sachlich oder geschmackssache?
              weder noch .... eher optisch. die rahmen kleben eben zu sehr an den buchstaben. ;-)
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                So also diesen Ansatz muss ich verwerfen. denn was ist, wenn du doch ne 6te Ebene einfügst? Richtig alles von vorne, alle Koordinaten überdenken und ob du das nach einem Jahr noch weißt?
                Es gibt mindestens 10 Menschen, die Binär-Zahlen lesen können. Dich und mich.

                Kommentar


                • #9
                  @ abraxax: ist der heutige stand, noch nicht endgültig
                  @ nimroy: ok
                  gruss oskar40

                  kapieren - nicht kopieren

                  Kommentar


                  • #10
                    Original geschrieben von oskar40
                    @ abraxax: ist der heutige stand, noch nicht endgültig
                    na dann ...
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Original geschrieben von Nimroy
                      So also diesen Ansatz muss ich verwerfen. denn was ist, wenn du doch ne 6te Ebene einfügst? Richtig alles von vorne, alle Koordinaten überdenken und ob du das nach einem Jahr noch weißt?
                      Also, ich habe auch alles in einer Tabelle, allerdings verlinke ich die so miteinander, daß eine Baumstruktur entsteht:

                      Felder: id,parentnodeid,sortorder,..... und den benötigten Rest
                      Jetzt kannst Du durch auswahl des passenden Vaterknotens (parentnodeid) unbegrenzt schachteln.

                      Anzeigetechnisch selektiere ich in der Regel: order by parentnodeid,sortorder und erstelle dynamisch Javascripte, die dann die effektvollen Menüs (Treeview,Dropdown, wasauchimmer) clientseitig erzeugen.

                      Hilft Dir das weiter ?

                      Schöne Grüße,
                      volker

                      Kommentar

                      Lädt...
                      X