Ergebnis 1 bis 12 von 12

Thema: BE Filter für SELECT in Eingabemaske SQL Fehler

  1. #1
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard BE Filter für SELECT in Eingabemaske SQL Fehler

    Hallo zusammen,
    nach Update von MM 2.1 auf 2.2 laufen meine SQL Abfragen für die Eingabemaske im BE nicht mehr.

    PHP-Code:
    SELECT id FROM mm_plz WHERE IFNULL (stadt={{param::post?name=stadt}},stadt
    Hat mir in 2.1 wunderbar die Postleitzahlen zur entsprechenden Stadt gefiltert.

    Kann hier jemand helfen?

    Bildschirmfoto 2022-06-02 um 16.38.52.png
    Geändert von marcohe (02.06.2022 um 15:40 Uhr)

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    da sollte sich eigentlich nichts geändert haben... mach mal Debugmode an und guck Dir die SQL-Queries an bzw. suche dort nach "SELECT id FROM mm_plz WHERE IFNULL" oder erzeuge einen Fehler mit

    PHP-Code:
    SELECT id FROM mm_plz WHERE IFNULL (stadt={{param::post?name=stadt}},stadt)xxx 
    kann es sein, dass "stadt" nicht die ID sondern den Alias enthält?

  3. #3
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    kann es sein, dass "stadt" nicht die ID sondern den Alias enthält?
    Doch ist ID siehe Anhang.

  4. #4
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    PHP-Code:
    SELECT id FROM mm_plz WHERE IFNULL (stadt={{param::post?name=stadt}},stadt)xxx 
    Bringt (stadt=?,stadt)xxx.

    Geh später noch in Debug.

  5. #5
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Doch ist ID siehe Anhang.
    ich meine hier

    PHP-Code:
    {{param::post?name=stadt}} 
    ich nehme an, Du hast ein Select auf "Stadt" in der Eingabemaske + submitOnChange ... welche Werte sind bei dem Select als Values? Id oder Alias?

  6. #6
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    ich meine hier

    PHP-Code:
    {{param::post?name=stadt}} 
    ich nehme an, Du hast ein Select auf "Stadt" in der Eingabemaske + submitOnChange ... welche Werte sind bei dem Select als Values? Id oder Alias?
    Genau Select auf Stadt.

    Werte-Spalte*
    Stadt [text, "stadt"]

  7. #7
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Genau Select auf Stadt.

    Werte-Spalte*
    Stadt [text, "stadt"]
    guck in den HTML-Quelltext vom Select in der Eingabemaske - was steht da?

  8. #8
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    guck in den HTML-Quelltext vom Select in der Eingabemaske - was steht da?
    HTML-Code:
    <select name="stadt" id="ctrl_stadt" class="tl_select" required="" onchange="Backend.autoSubmit('mm_gastronomie')" onfocus="Backend.getScrollOffset()"><option value="">-</option><option value="bad-krozingen">Bad Krozingen</option><option value="baden.......

  9. #9
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    <option value="bad-krozingen">Bad Krozingen</option
    Value sieht doch arg nach dem Alias aus - oder?

    In MM 2.2 wird als Value nicht dumpf die ID verwendet, sondern das, wass Du beim Attribut (Select und Tags) als Alias eingestellt hast...

  10. #10
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    PHP-Code:
    <option value="bad-krozingen">Bad Krozingen</option
    Value sieht doch arg nach dem Alias aus - oder?

    In MM 2.2 wird als Value nicht dumpf die ID verwendet, sondern das, wass Du beim Attribut (Select und Tags) als Alias eingestellt hast...
    Habs glaub verstanden. Dann hat sich aber doch was geändert. Dann muss ich über SQL über den alias an die ID der Stadt die letztendlich dann auch in der mm_plz steht!

  11. #11
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    PHP-Code:
    SELECT id FROM mm_plz WHERE IFNULL (stadt= (SELECT id FROM mm_stadt WHERE alias={{param::post?name=stadt}}),stadt
    Jetzt läufts wieder. Man sollte viel früher das Forum fragen. Hätte mir nen halben Tag Bildschirm und viel Ärger erspart

  12. #12
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Jetzt läufts wieder. Man sollte viel früher das Forum fragen. Hätte mir nen halben Tag Bildschirm und viel Ärger erspart
    ggf. muss Du Deine "Debugstrategie" mal optimieren... und gucken, was da wirklich im SQL steht.

    Die Filterregel wurde nicht angepasst - "nur" der Datenaufbau der Relationsattribute. Wenn Alias auf ID gesetz wäre, hätte es auch weiterhin funktioniert.

    Der Alias der Stadt sollte natürlich auf unique eingestellt sein - zur Sicherheit aber ein LIMIT 1 in

    PHP-Code:
    SELECT id FROM mm_plz
    WHERE IFNULL 
    (stadt=(
        
    SELECT id FROM mm_stadt
        WHERE alias
    ={{param::post?name=stadt}}
        
    LIMIT 1
        
    ),stadt


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
  •