PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable abhängig von "Ja" oder "Nein erhöhen


sju
19.08.2009, 14:31:16
switch ($input) {

case "text":
echo "<input type='text' name='$variable'>";

break;

case "bezeichnungundtext":
echo "<table>
<tr>
<td>$bezeichnung</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td><input type='text' name=''></td>
</tr>
</table>";
break;

case "textarea":
echo "<input type='textarea' name=''>";
break;

case "checkbox":
echo "<input type='checkbox' name='' value='Ja'>Ja";
echo "&nbsp;&nbsp;&nbsp; <input type='checkbox' name='' value='Nein'>Nein" ;
break;

case "radio":
echo "<input type='radio' name='$variable' value='Ja'>Ja";
echo "&nbsp;&nbsp;&nbsp; <input type='radio' name='$variable' value='Nein'>Nein" ;
}

if ($input=="radio" and input value="Nein") {
$id=$id+2;
}
else {
$id=$id+1;
}
$_SESSION['id']=$id;

Ich hätte gerne, dass für alle verschiedenen Inputtypen die §id um 1 erhöht wird, nur wenn ich als input type = radio habe und als value "Nein" habe, soll er die §id um 2 erhöhen.

Allerdings klappt das bei mir leider nicht.
Kann mir jemand helfen?

vt1816
19.08.2009, 15:21:35
Warum setzt Du $id=$id+1; nicht schon in jeden CASE-Zweig?
Zum Beispiel:
switch ($input) {

case "text":
echo "<input type='text' name='$variable'>";
$id=$id+1;
break;

case "bezeichnungundtext":
echo "<table>
<tr>
<td>$bezeichnung</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td><input type='text' name=''></td>
</tr>
</table>";
$id=$id+1;
break;
...

Und nur bei "radio" schreibst Du $id=$id+3; da Du ja stets JA und NEIN hast.

sju
19.08.2009, 15:43:22
Daran habe ich auch schon gedacht.
Dann aber wird die $id sowohl beim Klicken auf Ja als auch auf Nein um 2 erhöht.
Ich möchte aber, dass er nur beim Klicken auf Nein die $id um 2 erhöht.

vt1816
19.08.2009, 17:09:16
Ich möchte aber, dass er nur beim Klicken auf Nein die $id um 2 erhöht.

So hast Du es aber nicht beschrieben. Was soll der Sinn hinter Sache sein?

Dein geposteter Switch hat doch nur was mit der Anzeige zu tun - oder? Alles andere kannst/musst Du bei der Verarbeitung der Eingaben auswerten - also nach dem klicken.

kn0wledge
19.08.2009, 17:50:38
Daran habe ich auch schon gedacht.
Dann aber wird die $id sowohl beim Klicken auf Ja als auch auf Nein um 2 erhöht.
Ich möchte aber, dass er nur beim Klicken auf Nein die $id um 2 erhöht.

das kannst du mit einer einfachen if abfrage machen


if (isset($_GET['nameNeinFeld']) && $_GET['nameNeinFeld'] == 'nein')
{
$id += 2;
} else if (isset($_GET['nameJaFeld']) && $_GET['nameJaFeld'] == 'ja')
{
$id++;
}


oder halt mit $_POST je nachdem.

vt1816
19.08.2009, 20:54:25
das kannst du mit einer einfachen if abfrage machen
oder halt mit $_POST je nachdem.

So lange er/sie sich nicht dazu äußert wo/wie alles zum Einsaz kommen soll, fischen wir hier nur im trüben.