[MySQL 4.0] Nur gefüllte übergeordnete Datensätze anzeigen

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

  • [MySQL 4.0] Nur gefüllte übergeordnete Datensätze anzeigen

    Kann mir jemand sagen, wie ich nur die Kategorien anzeigen kann, die Unterkategorien besitzen?

    Anders formuliert: Eine Kategorie kann mehrere Unterkategorien besitzen. Wenn aber eine Kategorie
    über keine Unterkategorie verfügt, soll sie nicht angezeigt werden. Wie mache ich das?

    THX
    Hochachtungsvoll
    pingzaong

  • #2
    ohne die DB-Struktur zu kennen kann man dir nicht viel helfen

    Kommentar


    • #3
      OK, hier wäre mal ein Code-Ausschnitt:

      PHP-Code:
      $catres mysql_query("SELECT * FROM category WHERE hidden= 'nein' ORDER BY category");

          while (
      $catrow mysql_fetch_array($catres)) {

          
      $uncatres mysql_query("SELECT * FROM uncategory WHERE hidden= 'nein' AND category_id = $catrow[id]");
          
      $ucmysql_num_rows($uncatres);

              echo 
      "- $catrow[category] ($uc)";

          }

      Es zeigt mir nun in der Klammer die Anzahl der Unterkategorien an. Wenn die Anzahl aber 0 ist, dann soll auch die Kategorie nicht erscheinen.
      Hochachtungsvoll
      pingzaong

      Kommentar


      • #4
        Original geschrieben von pingzaong
        OK, hier wäre mal ein Code-Ausschnitt:

        PHP-Code:
        $catres mysql_query("SELECT * FROM category WHERE hidden= 'nein' ORDER BY category");

            while (
        $catrow mysql_fetch_array($catres)) {

            
        $uncatres mysql_query("SELECT * FROM uncategory WHERE hidden= 'nein' AND category_id = $catrow[id]");
            
        $ucmysql_num_rows($uncatres);

                echo 
        "- $catrow[category] ($uc)";

            }

        Es zeigt mir nun in der Klammer die Anzahl der Unterkategorien an. Wenn die Anzahl aber 0 ist, dann soll auch die Kategorie nicht erscheinen.
        Du weißt, was eine DB-Struktur ist oder?

        Kommentar


        • #5
          Ja, hier ist sie:

          category:

          id |category | hidden | datum

          uncategory:

          id | cat_id | uncategory | hidden | datum

          Meinst du sowas?
          Hochachtungsvoll
          pingzaong

          Kommentar


          • #6
            Ich habe die Lösung wieder einmal selbst gefunden. sorry.

            PHP-Code:


            $catres 
            mysql_query("SELECT category.id, category.category, category.hidden, category.datum 
            FROM category INNER JOIN uncategory ON category.id = uncategory.category_id GROUP BY category.id, 
            category.category, category.hidden, category.datum ORDER BY category ASC"
            ); 
            Hochachtungsvoll
            pingzaong

            Kommentar


            • #7
              Dumme frage, aber warum hast du ein GROUP BY drin?

              Und ja ich meinte "sowas"!

              Kommentar


              • #8
                @flyx

                Weil es mir sonst alle Kategorien soviel mal auflisten würde, wie sie Unterkategorien beinhalten!
                Hochachtungsvoll
                pingzaong

                Kommentar

                Lädt...
                X