Unterkategorien

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

  • Unterkategorien

    Ich habe eine Galerie gebaut mit Kategorien.
    Die Kategorien haben eine eigene Tabelle in meiner Datenbank die ungefähr so ist:
    id|titel|e_datum|e_ip
    e_datum und e_ip sind unwichtig ...

    Wie kann ich das mit einer Unterkategorie erweitern, bzw. geht das überhaupt dass ich Bilder in eine Kategorie stellen kann die keine weitere Unterkategorie hat? Klingt schlimm, ich weiß ...

    Ich will z.B.:
    Bildergalerie - Radtour - Bodensee - BILD1, Bild2 ...
    und auch:
    Bildergalerie - Freunde - BILD1, Bild2 ...

    Ich blick nicht wie das theoretisch ablaufen soll, und praktisch schon 2x nicht.

    Währe für jede Hilfe sehr dankbar ....
    Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

  • #2
    mach doch ne spalte kategorie_id als primary key und ne spalte parent_id in der die übergeordnete ID steht
    Code:
    (kategorie_id | parent_id | Name)
    1 | 0 | Bildergalerie
    2 | 1 | Fahrradtour
    3 | 1 | Family
    4 | 2 | Bodensee
    5 | 2 | Downhill
    6 | 3 | Tante Trude
    7 | 2 | Tour de France
    8 | 3 | Schwiegermutter
    Zuletzt geändert von mrhappiness; 25.04.2003, 13:29.
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Mit Bildergalerie meinte ich die Seite auf der die Kategorien stehen ...

      Code:
      Galerie
       |
       |-Freunde- Bild1 ....
       | 
       | 
       |-Radtouren
       |     |
       |     |-----Bodensee-Bild 1 ...
       |     |
       |     ----- Frankreich- Bild1 .....
       |
       |.......
      So meinte ich das, ich will Bilder in die Unterkategorien legen, will aber auch Kategorien ohne unterkategorie haben.

      Wenn ich nur Unterkategorien haben will währ das ja theoretisch einfach zu realisieren ...
      Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

      Kommentar


      • #4
        klar geht das mit obigem Beispiel und der ifnull funktion von MySQL und nem innerjoin zB oder ähnlich...
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          was spricht dagegen, es in der db so anzulegen wie ich geschrieben habe?

          dann liest du zuerst die kategorien aus, deren parent_id 0 is und kriegst
          Code:
          Galerie
           |
           |-Freunde
           | 
           | 
           |-Radtouren
          und bei einem klick auf Radtouren bekommst du alle kategorieren, deren parent_id der id von radtouren entspricht
          Code:
          Galerie
           |
           |-Freunde
           | 
           | 
           |-Radtouren 
           |     |
           |     |-----Bodensee
           |     |
           |     ----- Frankreich
           |
           |.......
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Ich hab das nun zich mal versucht, aber ich komm nicht dahinter wie das gehen soll.

            Weiß zufällig wer nen Beispiel wo ich mir sowas mal ansehen könnte?
            Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

            Kommentar


            • #7
              happy hat doch oben schon eine schöne tabelle aufgestellt. warum nutzt du diese nicht?

              eigentlich sollte doch alles klar sein...

              --
              btw: *VERSCHIEB* nach sql
              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
                Sorry, aber ich kapier net wie das gehen soll. Ich steh da voll auf dem Schlauch.

                Bestimmt ist es wieder ganz einfach, aber ich mein halt immer dass es voll kompliziert ist und dann verstrick ich mich da drinnen ...

                Wie man die Tabelle entwirft und so ist mir klar, aber ich kapier net wie man jetzt die kategorien, bessergesagt die unterkategorien auslesen soll ...
                Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                Kommentar


                • #9
                  die unterkategorien hgehören ja zur ner hauptkategorie.

                  die id dieser hauptkategorie übergibst du als parameter in nem link und machst dann
                  Code:
                  SELECT *
                  FROM tabelle
                  WHERE parent_id=$_GET['id']
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Ich weiß net, aber irgendswas mach ich falsch ...

                    PHP-Code:
                    <?
                    $server = "localhost";
                    $user = "xxx";
                    $pass = "xxx";
                    $db = "test";
                    $dbh = mysql_connect($server, $user, $pass) or die ("Datenbankserver nicht erreichbar");
                    mysql_select_db($db) or die ("Datenbank nicht vorhanden");
                    $result=MYSQL_QUERY("SELECT * FROM test WHERE parent_id=$_GET['id']") or die(mysql_error());
                    WHILE ($row = MYSQL_FETCH_ARRAY($result, MYSQL_ASSOC)) 
                    {
                    echo "<a href=\"kategorie?sub="$row[kategorie_id]"\">$row[name]</a>";
                    }
                    ?>
                    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\Programme\PHP Home Edition 2\www\test2.php on line 8
                    Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                    Kommentar


                    • #11
                      PHP-Code:

                      $result
                      =MYSQL_QUERY("SELECT * FROM test WHERE parent_id=$_GET['id']") or die(mysql_error()); 
                      du kannst nicht das array in dem string lassen, dat gibt Probleme.
                      PHP-Code:

                      $result
                      =MYSQL_QUERY("SELECT * FROM test WHERE parent_id=".$_GET['id']) or die(mysql_error()); 
                      solte klappen.
                      H I L F E
                      GD FreeType Antialising
                      Gesuch PHP Entwicklungsumgebung
                      ------------------------------------------
                      Der Cmabrigde rael tset, sruf whoin du wlilst

                      Kommentar


                      • #12
                        Original geschrieben von RobertTheHero
                        du kannst nicht das array in dem string lassen, dat gibt Probleme.
                        oder du machst {} um das array. dann geht es auch. aber die stringteilung ist allemale besser.
                        PHP-Code:
                        $result=MYSQL_QUERY("SELECT * FROM test WHERE parent_id={$_GET['id']}") or die(mysql_error()); 
                        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


                        • #13
                          Aha, klasse nun gehts ...
                          Aber es ist nicht so wie ich mir das vorgestellt hab

                          ich wollte die kategorien gleich aufgelistet haben, und auch kategorien ohne unterkategorien, also ...

                          -Freunde
                          -Radtouren
                          --Bodensee
                          --Frankreich
                          -Autos

                          Wenn ich alles mit Unterkategorien hätte währs ja einfach, dann hätte ich 2 Tabellen draus gemacht und die miteinander verknüpft ...
                          Einpacken & Mitnehmen - SEO und CMS/Shop-Lösungen

                          Kommentar


                          • #14
                            suche mal nach NESTED SETS
                            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

                            Lädt...
                            X