Zum Inhalt springen

Probleme mit unexpected T_Case in verschachtelter Case/If-Combi


Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...