Zitat von
zonky
habe das gestern nochmal mit einem kleinen Testbeispiel nachgebaut...
* zwei Filter angelegt
* 1. Filter mit Filterregel "Auswahl" auf mm_mitarbeiter Attribut <Name> und als URL-Parameter "ma_name"
* 2. Filter mit Filterregel "Eig. SQL" auf mm_kalender und hier per {{param::filter?name=ma_name}} den Wert aus dem ersten Filter übernommen
... das SQL müsste nun einige "Scheifen" drehen, um aus dem Namen die MA-Id zu ermitteln und das als pid in mm_kalender abzufragen - anschließend kann das gefiltert werden...
so wie es aussieht, könnte es demnächst die Möglichkeit geben, bei Filter 1 direkt die id (oder alias o.ä.) zu übergeben...
Gruss
Hallo zonky,
erst einmal vielen Dank für die Beschreibung.
Ich habe nun folgendes gemacht:
- einen Filter für die Tabelle mm_mitarbeiter (Einzalauswahl, Attribut=Mitarbeiter, URL=ma_name) angelegt
- einen Filter für die Tabelle mm_kalender mit 3 Einträgen
- Eig. SQL = select id from {{table}} where pid in (select id from mm_mitarbeiter where mitarbeiter = {{param::filter?name=ma_name}})
- Einzelauswahl, Attribut=jahr
- Einzelauswahl, Attribut=Monat
Dann habe ich einen Artikel mit den beiden Filtern und einer Liste mit mm_kalender erstellt. Alles wird korrekt angezeigt.
Die Liste kann ich mit dem Filter in mm_kalender (Jahr/Monat) filtern. Wähle ich jedoch einen Mitarbeiter aus dem Filter mm_mitarbeiter aus, dann wird die Liste nicht danach gefiltert.
Wenn ich den $_GET auslese, dann wird der korrekte Mitarbeiter übergeben (leider nicht die ID, sondern der Name) ((Array ( [ma_name] => Name, Vorname [monat] => 12 )))
Wenn ich mir im Debug-Modus mal die Queries anschaue, dann sieht das auch korrekt aus:
Code:
[70] => Array
(
[query] => select * from mm_kalender where
pid in (select id from mm_mitarbeiter where mitarbeiter= 'Name, Vorname')
[explain] => Array
(
[id] => 1
[select_type] => SIMPLE
[table] => mm_mitarbeiter
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 1306
[Extra] =>
)
[returned] => 22 row(s) returned
[duration] => 4,603 ms
)
Ich weis leider nicht, wo mein Fehler liegt :-(
Gruß Dirk
Lesezeichen