SQL Statment

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

  • SQL Statment

    Hallo allerseits

    Ich hab eine kleine frage.

    Es geht um eine Navigation, ich erläutere hier mal kurz denn Datenbankmodell.

    Hab hierzu 2 Tabellen.

    nav_cat und nav_link (1-n-Beziehung).


    nav_cat:

    ID nav_pos nav_layer nav_titel

    0 left 1 Navigation 1
    1 left 2 Navigation 2
    2 left 3 Navigation 3
    3 right 4 Navigation 4

    nav_link:

    ID parentID link_layer link_titel

    0 0 1 navi1_link1
    1 0 2 navi1_link2
    2 0 3 navi1_link3
    3 1 1 navi2_link1
    4 1 2 navi2_link2
    5 1 3 navi2_link4

    usw........


    Habe dazu diesen SQL Statment:

    PHP-Code:
    <?
    $sql_navcat=$DB->query("SELECT tab1.*, tab2.* FROM $tab_navicat AS tab1, $tab_navilink AS tab2 WHERE tab1.nav_pos = 'left' AND tab1.ID = tab2.parentID GROUP BY tab1.nav_cat_name ORDER BY tab1.nav_layer, tab2.link_layer");


    while($row_navcat = $DB->fetch_array($sql_navcat)){
        echo "<b>".$row_navcat['nav_titel']."</b><br>";
        echo $row_navcat['link_name']."<br>";
        }
    ?>
    das gib mir die vorherige Statment aus:

    Navigation 1
    nav1_linktest 1

    Navigation 2
    nav2_linktest 1

    Navigation 3
    nav3_linktest 1

    Das problem
    Bei jeder Kategorie hab ich 3 links, also:

    nav1_linktest 1
    nav1_linktest 2
    nav1_linktest 2

    nav2_linktest 1
    nav2_linktest 2
    nav2_linktest 2 usw.......

    Was ich versucht habe denn "group by" weg zunehmen dann gibt mir es folgendes aus:

    Navigation 1
    nav1_linktest 1
    Navigation 1
    nav1_linktest 2
    Navigation 1
    nav1_linktest 3
    Navigation 2
    nav2_linktest 1
    Navigation 2
    nav2_linktest 2
    Navigation 2
    nav2_linktest 3
    Navigation 3
    nav3_linktest 1
    Navigation 3
    nav3_linktest 2
    Navigation 3
    nav3_linktest 3

    und das stimmt leider auch nicht, das es ja die Kat's wiederholen. ..

    Was meint ihr dazu?
    MFG CHRIS
    FlowFact AG

  • #2
    du musst halt schauen, ob der nav_titel des aktuellen links dem nav_titel des links vorher entspricht
    nur wenn das nich der fall is, gibst du ihn aus

    les dir mal diesen thread durch
    HTH
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      also in der where bedinung?
      MFG CHRIS
      FlowFact AG

      Kommentar


      • #4
        lies dir mal denm beitrag von a4u in dem thread durch
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          yo, das wäre auch ein lösungsweg. aber eigendlich wollte ich soviel wie möglich im statment lösen.

          Aber thx trotz.
          MFG CHRIS
          FlowFact AG

          Kommentar


          • #6
            wird aber nicht gehen

            entweder machst du eine abfrage mit der du alle daten hast, dann musst du in deinem skript nach nav_titel schauen oder du machst für jeden nav_titel ne seperate abfrage
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              ok, dann versuch ich mal die lösung von a4u.

              thx
              MFG CHRIS
              FlowFact AG

              Kommentar

              Lädt...
              X