Ankündigung

Einklappen
Keine Ankündigung bisher.

CC Filter um mehrere Attribute abzufragen?

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

  • #16
    Ah, oke, verstehe, dafür sind die Dingers da und dazu braucht man da die Sprachfilter - Wir brauchen echt mal ein gescheites Wiki ;-)

    Danke für die Skizze und Aufklärung - Damit hat es dann natürlich geklappt ;-) Merci!

    Kommentar


    • #17
      Hm, irgendwie zu früh gefreut Das mit der Sprache und der Vermeidung der doppelten läuft jetzt prima. Aber die ODER Auswahl funktioniert (bei mir leider noch nicht richt

      Die verwendete Filtersammlung ist so auf gebaut:
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2022-11-25 16_38_54-Meine Inhaltselemente _ update.png
Ansichten: 107
Größe: 48,7 KB
ID: 26196

      Wäre das korrekt oder liegt da schon der Wurm?

      Im Code sieht eine "Leerabfrage" , an den kritischen Stellen mit der ODER Verknüpfung so aus:
      PHP-Code:
      ...?language=de&textsuche=&test_standard_1=&test_standard_2
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 2022-11-25 16_40_38-DevTools - update.png
Ansichten: 40
Größe: 31,7 KB
ID: 26197

      Im Feld A (test_standard_1) sind die Tags 13, 14, 15, 16 und 40 vorhanden. Im Feld B (test_standard_2) sind die Tags 13, 14 und 15 vorhanden.
      Suche ich jetzt nach 13 (
      PHP-Code:
      ...?language=de&textsuche=&test_standard_1=13&test_standard_2=13 
      , dann kommt Contao Fehlermeldung (Es ist ein Fehler aufgetreten) und im LOG steht:

      HTML-Code:
      [2022-11-25T16:49:41.922383+01:00] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\SyntaxErrorException: "An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'cc_productcatalog.id  IN(1,2,3,29,31,34,36,39,43,46,47,49,50,51,60,62,65,67,6...' at line 1" at /var/www/vhosts/example.com/update.example.com/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php line 86 {"exception":"[object] (Doctrine\\DBAL\\Exception\\SyntaxErrorException(code: 1064): An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'cc_productcatalog.id  IN(1,2,3,29,31,34,36,39,43,46,47,49,50,51,60,62,65,67,6...' at line 1 at /var/www/vhosts/example.com/update.example.com/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:86)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 1064): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'cc_productcatalog.id  IN(1,2,3,29,31,34,36,39,43,46,47,49,50,51,60,62,65,67,6...' at line 1 at /var/www/vhosts/example.com/update.example.com/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:28)\n[previous exception] [object] (PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'cc_productcatalog.id  IN(1,2,3,29,31,34,36,39,43,46,47,49,50,51,60,62,65,67,6...' at line 1 at /var/www/vhosts/example.com/update.example.com/vendor/doctrine/dbal/src/Driver/PDO/Connection.php:69)"} []
      Es gibt aber definitiv, wie man oben in dem Code Schnipsel auch sehen kann, Datensätze die das Tag 13 in entweder dem einen oder anderen Feld haben. Es sollte also m.E. mindestens 2 Datensätze ausgeworfen werden.

      Ändere ich die Abfrage auf eine Suche nach Datensätzen die das Tag ID 16 in entweder dem einen oder anderen Feld haben, kommt kein Fehler und es werden mir aber alle Datensätze angezeigt (wohl weil es beim Feld test_standard_2 keine Treffer gibt)

      Ich habe mittlerweile einen Knoten im Kopf und hoffe Du kannst mir meinen Fehler aufzeigen?

      Kommentar


      • #18
        Puhhh... das kann ich auch nicht einfach so ausm Stehgreif. Ich glaube es ist auch besser mehrere Filtersets zu nutzen. Filtersets untereinander werden mit AND verbunden.
        http://www.premium-contao-themes.com

        Kommentar


        • #19
          Also ich hab das jetzt aufgegeben. Auch mit mehreren Filtersets wurde das nicht besser. Mit 2 Oder Bedingungen klappte es noch aber mit 3 war wieder Chaos. .. und es sollen später evtl. mal 6 werden... Ich habe den Filter jetzt selbst gebaut und damit geht es dann erstmal.
          Danke auf jeden Fall für Deine Hinweise zur Lösung!!

          Kommentar

          Lädt...
          X