Ergebnis 1 bis 9 von 9

Thema: Frage zum Modul Auflistung - SQL Query Count möglich?

  1. #1
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard Frage zum Modul Auflistung - SQL Query Count möglich?

    Servus beisammen,

    ich habe eine Liste in in der Datenbank und würde gerne mit einem weiteren Aufzählungsmodul Zahlen ausgeben.

    Einträge sind jeweils mit einer Wildart versehen:
    • Schwarzwild
    • Rehwild
    • etc


    Ich will mit dem Auflistungsmodul ein Group BY und Count ausgeben. Sprich:
    • Schwarzwild (2 Einträge)
    • Rehwild (11 Einträge)



    Geht das mit dem Auflistungsmodul?

    Bei Bedingungen "revier = "Hard",group by wildart" erzeugt einen FEhler.

    VG Frank
    Angehängte Grafiken Angehängte Grafiken

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von Kahmoon Beitrag anzeigen
    Bei Bedingungen "revier = "Hard",group by wildart" erzeugt einen FEhler.
    Welchen Fehler? Dein Screenshot zeigt eine gesendete Tabelle.

    Ist das

    Code:
    revier = "Hard",group by wildart
    Teil des Datenbank-Queries? Dann wäre das Komma schon mal ein Fehler, denn der generierte Query muss in etwa so lauten


    Code:
    SELECT wildart, ... FROM ... WHERE revier = "Hard" group by wildart
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard

    Ich denke das Feld Bedingung spiegelt nur die SQL "WHERE" wieder.

    Aber die Abfrage könntest du ja einfach in dein Anzeige-Template schreiben.
    Oder falls du ein eigenes Modul benutzt, die Abfrage gleich ins ModulList machen.

  4. #4
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Zitat Zitat von Black Pirate Beitrag anzeigen
    Ich denke das Feld Bedingung spiegelt nur die SQL "WHERE" wieder.
    Zitat Zitat von Black Pirate Beitrag anzeigen
    jepp


    Also ich hab das jetzt über ein Custom Template und Count Tabellenrows gemacht.
    PHP-Code:
    <?= count($this->tbody?>
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Kahmoon (15.03.2023 um 14:30 Uhr)

  5. #5
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Jetzt habe ich bei der Bedingung allerdings ein Problem dass das Feld nicht lang genug ist.

    Code:
    (revier = "Windachtal" OR revier = "Buchental" OR revier = "Obermühlhausen" OR revier = "Oberbeuren") AND (wildart = "Keiler" OR wildart ="Bache"  OR wildart ="Überläufer"  OR wildart ="Frischling")
    Kann man das OR kleiner verschachteln?
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Kahmoon (15.03.2023 um 15:09 Uhr)

  6. #6
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.451
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Kahmoon Beitrag anzeigen
    Kann man das OR kleiner verschachteln?
    Probiere es mit
    Code:
    revier IN ("", "", ...)

  7. #7
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard

    Hast du ein eigenes Modul erstellt für diese Inhalte?
    Dann mach im ModulList deine Abfragen rein.

    Alternativ im Template eigene Abfragen einfügen und aufrufen.

    Oder wie kommen die Einträge in die Datenbank?

  8. #8
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.451
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zur Erklärung, warum das gewünschte u.U. nicht mit der Backend Maske klappt:

    Das Auflistungsmodul nutzt die Querydaten für 2 Abfragen: 1. für die Daten und 2. für einen Count um die Anzahl der Datensätze zu ermitteln (für die Paginierung)

    Das passt manchmal nicht einfach so zusammen. Deshalb dann ein Fehler.

  9. #9
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Zitat Zitat von cliffparnitzky Beitrag anzeigen
    Probiere es mit
    Code:
    revier IN ("", "", ...)
    Das funzt. Danke!


    Zitat Zitat von Black Pirate Beitrag anzeigen
    Hast du ein eigenes Modul erstellt für diese Inhalte

    Ja

    Zitat Zitat von Black Pirate Beitrag anzeigen
    Oder wie kommen die Einträge in die Datenbank?

    Über ein Formular mit Core Mitteln im Backend

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •