Hallo,
ich habe einen Fragebogen, bei dem die Teilnehmenden zu bestimmten Themen Stellung beziehen sollen. Zu jedem Thema gibt es drei Fragen. Leider sind es drei Fragen und nicht drei Items, da alle drei Fragen unterschiedliche Skalen haben. Beispiel: "Thema 01: xxx" (Stimme voll zu - stimme gar nicht zu). "Wie wichtig ist die dieses Thema persönlich?" (wichtig ... gar nicht). "zu diesem Thema kann ich gut meine Meinung äußern" (ja --- nein). So grob zumindest:) Dann werden bestimmte Themen ausgewählt und im Labor besprochen. Nach diesem Gespräch sollen die Teilnehmenden noch einmal Fragen zu den Themen beantworten, dieses Mal aber nur zu den auch Besprochenden. Dazu habe ich eine Mehrfachauswahl eingefügt mit allen 30 Themen. Dort wird gefragt, welche Themen besprochen wurden, und je nachdem was angekreuzt wird sollen diese Themen (jeweils mit drei Fragen) abgefragt werden. Ich habe auch schon gesehen, dass man bei der Mehrfachauswahl ohne Code einen Filter einstellen kann, allerdings nur für eine Frage. Das geht also in meinem Fall nicht. Dann habe ich einen Code geschrieben, der aber leider nicht funktioniert. Die Mehrfachauswahl habe ich auf Seite 1. Auf Seite 2 kommt dann der PHP-Code. Ich habe es so verstanden, dass der Filter sich die Fragen dann einfach zieht, ohne dass man diese auf die Seiten nochmals einfügen muss. Nach ein paar Fehlermeldungen habe ich dann keine Meldung mehr gehabt, aber der Coder funktioniert nicht. Nach der Mehrfachauswahl werden wieder alle 30 Themen abgefragt:( Kann mir da jemand helfen? DIe Mehrfachauswahl habe ich QSelect genannt. Ich habe auch versucht, mit deren Kennung "PR01" zu arbeiten, das hat aber auch nicht geklappt. Das hier ist der Code:
$sel = value('QSelect');
if (!is_array($sel)) { $sel = []; }
$map = [
1 => ['PR02','PR03','PR04'],
2 => ['PR05','PR06','PR08'],
3 => ['PR09','PR10','PR11'],
4 => ['PR12','PR13','PR14'],
5 => ['PR15','PR16','PR17'],
6 => ['PR18','PR19','PR20'],
7 => ['PR21','PR22','PR23'],
8 => ['PR24','PR25','PR26'],
9 => ['PR27','PR28','PR29'],
10 => ['PR30','PR31','PR32'],
11 => ['PR33','PR34','PR35'],
12 => ['PR36','PR37','PR38'],
13 => ['PR39','PR40','PR41'],
14 => ['PR42','PR43','PR44'],
15 => ['PR45','PR46','PR47'],
16 => ['PR48','PR49','PR59'],
17 => ['PR50','PR51','PR52'],
18 => ['PR53','PR54','PR55'],
19 => ['PR56','PR57','PR58'],
20 => ['P301','P302','P303'],
21 => ['P313','P304','P314'],
22 => ['P305','P306','P307'],
23 => ['P308','P315','P309'],
24 => ['P310','P311','P312'],
25 => ['P316','P317','P318'],
26 => ['P319','P320','P321'],
27 => ['P322','P323','P324'],
28 => ['P325','P326','P327'],
29 => ['P328','P329','P330'],
30 => ['P331','P332','P333'],
31 => ['P334','P335','P336'],
32 => ['P337','P338','P339'],
33 => ['P340','P341','P342'],
34 => ['P343','P344','P345'],
35 => ['P346','P347','P348'],
];
foreach ($sel as $b) {
$b = (int)$b;
if (isset($map[$b])) {
foreach ($map[$b] as $qid) {
question($qid);
}
}
}