PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Checkbox (http://www.selfphp.de/forum/showthread.php?t=897)

Walter 06.02.2002 22:20:00

Checkbox
 
Hallo,

habe ein Formular das auch wunderbar funktioniert, nur die Übergabe der Werte von der Checkbox klappt nicht. Ich erhalte in der Variable immer nur den zuletzt angekreuzten Wert. Der Teil des Progs ist folgender:

$c=1;
while($row = mysql_fetch_array($pai)) {
if($c<4) {
print"<td>
<input type="checkbox" name="nr_pais" value="$row[0]">".$row[1]."<br>
</td>";
$c++;
}
if ($c==4){
$c=1;
print"</tr><tr>";
}
}

Ich dachte, ich hätte nun in 'nr_pais' die angeklickten Werte als Array, aber es ist wie gesagt immer nur der letzte angeklickte Wert aus value ...... Wo liegt mein Denkfehler ??

Danke

Matthias 06.02.2002 23:59:08

So kann dir nicht 100%ig folgen, denke aber dein Fehler liegt darin, daß du den checkboxen alle den selben Namen gibst.

Wenn es das nicht ist dann meld dich nochmal.

Schönen Abend noch
Matthias - schon spät -

Damir 07.02.2002 07:29:37

Hi Walter,
Du musst in diesem Fall die Checkboxen als Array deklarieren ( [] ): Ausserdem erhoehst Du Dein value-Array nicht!

$x = 0;
while(){
.
.
<input type="checkbox" name="nr_pais[]" value="$row[$x]">".$row[$x]."<br>
.
$x++;
}
Denke aber daran, dass nicht aktivierte Ceckboxen beim versenden nicht uebertragen werden und somit Dein Array durcheinander geraten kann!

Bye Damir

Walter 07.02.2002 14:50:36

Hallo Damir, Hallo Matthias,

danke für die schnelle Hilfe !

Damir, es waren wirklich nur die eckigen Klammern bei dem Namen der Checkbox, die fehlten ......

Das die nicht aktivierten Checkboxen nicht übertragen werden ist ok, ist genau das was ich auch wollte. Es ist auch Absicht, dass das Value Array nicht erhöht wird. Vielleicht zur besseren Übersicht eine kurze Erklärung was das da soll:

Projekt: wissentschaftliche Dokumentation der Orchideen Costa Ricas

Dieser Teil: Zuordnung bestimmter Gattungen, zu den Ländern, wo sie vorkommen.

Die while-Schleife liest die Länder aus einer Tabelle aus, stellt deren Namen als Checkox im Browser dar (row[1]) und gibt dann den Index des Landes als array an ein anderes Prog weiter (eben nr_pais[], gefüllt mit row[0]), wo die Sachen (mit vielen anderen) in verschiedene Tabellen weggeschrieben werden.

Nochmals vielen Dank, ihr seid super Leute.

Grüsse aus dem sonnigen ud warmen Costa Rica

Walter

Damir 07.02.2002 17:01:08

Freut mich, dass wir Dir helfen konnten ;-)
Viele Gruesse aus dem kalten Köln - Karneval haelt aber einen auch warm ;-))
Bye Damir


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:12:13 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.