Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo, ich habe folgendes Problem:


switch (value('TV02')) {
case 1: //Besuchsfrage für Privatler
if (value('TV04') == 2){
question('TV05');
} else {
if (value('TV06') == 2){
question('TV07');
} else {
if (value('TV08') == 2){
question('TV09');
} else {
if (value('TV10') == 2){
question('TV11');
} else {
if (value('TV12') == 2){
question('TV13');
} else {
if (value('TV14') == 2){
question('TV15');
} else {
if (value('TV16') == 2){
question('TV17');
} else {
goToPage('FBS6');
}
break;
case 2: //Weg zur Soziodemographie für Corporatler
goToPage('FBS6');
break;
case 3: //Bekanntheitsfrage für Misch-Accountler
if (value('TV01_01') == 2) {
question('TV04');
}
if (value('TV01_02') == 2) {
question('TV06');
}
if (value('TV01_03') == 2) {
question('TV08');
}
if (value('TV01_04') == 2) {
question('TV10');
}
if (value('TV01_05') == 2) {
question('TV12');
}
if (value('TV01_06') == 2) {
question('TV14');
}
if (value('TV01_07') == 2) {
question('TV16');
}
break;
}
[/PHP]

Es geht um den Bereich CASE 1:

Zum besseren Verständnis bitte unter

https://www.soscisurvey.de/twittermuseen/

testweise den Fragebogen ausfüllen (PW = test1)

Folgender Fall,

man wählt mindestens 1 Museum aus, bei Frage 1

man wählt "Privataccount" bei Frage 2

Die nächste Frage beanwortet man mit "JA" (also, man kennt das Museum schon). Klickt man jetzt auf "Weiter" kommt die Fehlermeldung...

Ich bin grad am verzweifeln... Vielleicht aber auch "nur" betriebsblind?

Danke für Eure Hilfe!

Gruß

Stefan

Geschrieben

Danke für den Hinweis!

Also doch betriebsblind ;-)

Ich habe zudem festgestellt, dass ich so mein Problem gar nicht gelöst bekomme.

Ich muss es mit einer FOR-Schleife machen, leider funktioniert es noch nicht ganz, denn ich habe sicher noch einen Denkfehler darin.

Blöderweise kann man die Fragekennungen, die z.B. "TV01 - TV16" heißen können, nicht ändern. --> Die 01, 02, 03, 04... stört mich!!!


$items = 7; // Anzahl der auswählbaren Museen
$qk1 = 'TV0';
$qk2 = 'TV'; // Kennung der Frage
$zaehler_qk = 4; // interner Zähler für die Fragekennung

switch (value('TV02')) {
case 1: //Besuchsfrage für Privatler

for ($i=1; $i<=$items; $i++) // Schleife soll 7 Runden durchlaufen
{
for ($k=1; $k<=4; $k++) // im 1. bis 4. Durchlauf
{
$item=$qk1.$zaehler_qk; // ergibt z.B. TV04, bis zum 4. Durchlauf
if (value($item) == 2) // Prüfen, ob Frage mit "NEIN" beantwortet wurde, wenn ja, zeige nächste Frage an (z.B. TV05)
{
question($qk1.($zaehler_qk+1)); // Folgefrage mit ungerader Kennung ausgeben!
$zaehler_qk=($zaehler_qk+2); // internen Zähler un 2 erhöhen, damit im nächsten Durchlauf wieder eine Frage mit gerader Kennung bearbeitet werden kann
}
} // end for
for ($k=5; $k<=$items; $k++) // im 5. bis 7. Durchlauf
{
$item=$qk2.$zaehler_qk; // ergibt z.B. TV10, ab dem 5. Durchlauf
if (value($item) == 2)
{
question($qk2.($zaehler_qk+1));
$zaehler_qk=($zaehler_qk+2);
}
} // end for
} // end for
[/PHP]

So habe ich mir das gedacht, aber es funktioniert leider nicht...

Was mache ich falsch?

Er soll quasi in den ersten 4 Durchläufen die Kennung anders zusammensetzen, als in den restlichen. Und natürlich, wenn Fragen (mit der geraden Kennung), die mit "NEIN" beantwortet wurden, eine Folgefrage ausgeben (mit einer ungeraden Kennung), Wenn mehrere "gerade Fragen" mit "NEIN" beantwortet wurden, sollen natürlich auch mehrere "ungerade Folgefragen" ausgegeben werden.

ich verzweifle schon...

Geschrieben

Problem ist mittlerweile gelöst!

In den Else-Zweigen muss der interne Zähler auch um 2 erhöht werden, sonst kommt er ja nicht weiter, falls eine vorher gestellte Frage mit "JA" beantwortet wurde...

Viele Grüße...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...