Ankündigung

Einklappen
Keine Ankündigung bisher.

Kategorieabfrage

Einklappen

Neue Werbung 2019

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

  • truemaster
    hat ein Thema erstellt Kategorieabfrage.

    Kategorieabfrage

    Guten Abend,

    Code:
    CREATE TABLE `objekte` (
      `ID` int(11) NOT NULL,
      `hauptobjektID` int(11) DEFAULT NULL,
      `objektart` tinyint(4) NOT NULL COMMENT '1 = Haupt, 2 = Unterobjekt',
      `bezeichnung` varchar(100) COLLATE utf8_bin NOT NULL,
      `nummer_intern` int(11) NOT NULL,
      `nummer_hersteller` int(11) NOT NULL,
      `laenge` decimal(5,2) NOT NULL,
      `breite` decimal(5,2) NOT NULL,
      `hoehe` decimal(5,2) NOT NULL,
      `gewicht` decimal(10,2) NOT NULL,
      `kennzeichen` varchar(20) COLLATE utf8_bin NOT NULL,
      `aktiv` tinyint(4) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    Ist es mit einer Abfrage möglich, alle Hauptkategorien und deren Unterketegorien abzufragen, sodas ich ich mittels Smarty die Daten sauber wie folgt ausgegeben bekommen?

    Tiere
    Hund
    Katze
    Maus

    Städte
    Köln
    Bonn
    Berlin

    Die Objektart 1 ist eine Hauptkategorie und die Objektart 2 eine Unterkategorie.

    Mein Ansatz:

    Code:
    SELECT
    *
    FROM `objekte` AS o1
    LEFT JOIN objekte AS o2 ON o2.hauptobjektID = o1.ID
    Group BY o1.ID

  • erc
    antwortet
    Zitat von truemaster Beitrag anzeigen
    Hab es hinbekommen:
    Sieht für mich nicht so aus. Das GROUP BY hat da nix zu Suchen. Dann solltest du sowas zurückbekommen:

    Tiere Hund
    Tiere Katze
    Tiere Maus
    Städte Köln
    Städte Bonn
    Städte Berlin

    Das musst du dann mit PHP(?) auseinandernehmen.

    Zitat von truemaster Beitrag anzeigen
    Könnte das ohne die Abfrage ja mit Jquery lösen. Aber wie könnte mna das mit einer Abfrage lösen? Macht das Sinn und klappt das? Weil möchte nicht, dass 5000 Zeilen mit Kategorie und den jeweiligen Unterkategorien auf einmal angezeigt werden.
    Mach doch einfach zwei Abfragen. Einmal für die Hauptkategorie, und einmal für die Unterkategorein. Alternativ kannst du den ersten Query auch erweitern... in die JOIN Bedingung fügst du dann noch die aktuell ausgewählte Kategorie ein. Dann kommt sowas zurück: (wenn Tiere ausgewählt)

    Tiere Hund
    Tiere Katze
    Tiere Maus
    Städte NULL

    Einen Kommentar schreiben:


  • marie123
    antwortet
    Zitat von truemaster Beitrag anzeigen
    Hab es hinbekommen:

    ok so?

    Code:
    SELECT
    *,
    o1.bezeichnung AS hauptbezeichnung,
    o1.objektart AS objektart_haupt
    FROM `objekte` AS o1
    LEFT JOIN objekte AS o2 ON o2.hauptobjektID = o1.ID
    Group BY o1.ID
    Jetzt habe ich aber mal eine anderere Frage. Ich hätte es lieber, dass wenn man auf die Hauptkategorie klickt, erst dann die Unterkategorien aufploppen. Ich arbeite mit Smarty. Könnte das ohne die Abfrage ja mit Jquery lösen. Aber wie könnte mna das mit einer Abfrage lösen? Macht das Sinn und klappt das? Weil möchte nicht, dass 5000 Zeilen mit Kategorie und den jeweiligen Unterkategorien auf einmal angezeigt werden.
    Ich glaube nicht, daß das funktionieren kann, ob mit oder ohne Smarties.
    Das select * solltest du auf jeden Fall rausmachen.

    Einen Kommentar schreiben:


  • marie123
    antwortet
    Zitat von truemaster Beitrag anzeigen
    Guten Abend,
    ...

    Mein Ansatz:

    Code:
    SELECT
    *
    FROM `objekte` AS o1
    LEFT JOIN objekte AS o2 ON o2.hauptobjektID = o1.ID
    Group BY o1.ID
    Und warum gibst du nicht deine Daten (Tiere, Hunde usw.) in deiner Tabelle ein und führst die Abfrage dann aus?

    Einen Kommentar schreiben:


  • truemaster
    antwortet
    Hab es hinbekommen:

    ok so?

    Code:
    SELECT
    *,
    o1.bezeichnung AS hauptbezeichnung,
    o1.objektart AS objektart_haupt
    FROM `objekte` AS o1
    LEFT JOIN objekte AS o2 ON o2.hauptobjektID = o1.ID
    Group BY o1.ID
    Jetzt habe ich aber mal eine anderere Frage. Ich hätte es lieber, dass wenn man auf die Hauptkategorie klickt, erst dann die Unterkategorien aufploppen. Ich arbeite mit Smarty. Könnte das ohne die Abfrage ja mit Jquery lösen. Aber wie könnte mna das mit einer Abfrage lösen? Macht das Sinn und klappt das? Weil möchte nicht, dass 5000 Zeilen mit Kategorie und den jeweiligen Unterkategorien auf einmal angezeigt werden.

    Einen Kommentar schreiben:

Lädt...
X