Ich stell mich gerade mal wieder an, als würde ich das zum ersten Mal machen ...
Mithilfe eines Scriptes lese ich eine andere Website aus und lasse die Daten als Array ausgeben, um sie anschließend in eine MySQL-DB einzufügen. Soweit auch kein Problem, aber ich will nicht zwingend alle Daten haben die ausgegeben werden und habe dafür checkboxen an die entsprechenden Zeilen gesetzt. Value = "on" und CHECKED der Wert soll in die DB und bei nicht "CHECKED" logischer Weise nicht.
Das FORM was die Ausgabe der Fremdseite wiedergibt (auszug):
Code:
if($epi) {
?>
<tr>
<td style="border: 1px solid #FF8000;" bgcolor="#FFFF80">
<code><?php echo $step; ?></code> | Staffel:<input type="text" name="staffel[]" id="staffel[]" size="1" value="<? echo $st; ?>" style="font-size: 8pt; border:1px solid #FF8000;">
Episode:<input type="text" name="episode[]" id="episode[]" size="1" value="<? echo $epi; ?>" style="font-size: 8pt; border:1px solid #FF8000;">
Titel: <input type="text" name="titel[]" id="titel[]" size="40" value="<? echo $stringg; ?>" style="font-size: 8pt; border:1px solid #FF8000;">
Info: <input type="text" name="info[]" id="info[]" size="40" value="" style="font-size: 8pt; border:1px solid #FF8000;">
<input type="checkbox" name="takeit[]" id="takeit[]" value="on" <? if($epi!="0") echo "checked"; ?>>
<code><?php echo $lcnt; ?></code>
</td>
</tr>
<?
}
Nach dem drücken von "Absenden" der PHP-Code der anfängt zu arbeiten:
Code:
if ($_POST["doit"] == "newseries") {
connect_db();
for($i=0; $i < count($_POST[episode]); $i++){
$serie = $_POST[serie]; //wird nur einmal für alle Felder angegeben
$staffel = $_POST[staffel][$i];
$episode = $_POST[episode][$i];
$titel = $_POST[titel][$i];
$info = $_POST[info][$i];
$takeit = $_POST[takeit][$i];
if($takeit=="on") {
$result = MYSQL_QUERY("INSERT INTO $tabelle (serie, staffel, episode, titel, info) VALUES ('$serie', '$staffel', '$episode', '$titel', '$info')") or die(mysql_error());
}
}
Bei der Übergabe des FORM an diese Schleife werden alle Werte erkannt und korrekt nacheinander eingefügt - NUR die Checkbox-Werte nicht. Wenn ich jetzt - sagen wir mal - 15 Zeilen auswählen könnte und davon nur die Letzte haben will, also alle anderen Abwähle, fügt er mir die Allererste ein und denkt, dass dieser der Wert "on" (checked) zugeordnet war, anstatt der Eigentlichen. Wie mach ich dem blöden Ding klar, dass er alles ignorieren soll, ausser die Zeile, wo eben CHECKED ("on") ist !?!
greetz
JMD
PS: Habs auch schon mit ner foreach()-schleife probiert, selbes Ergebnis.
PPS: Habe ebenfalls probiert die for()-schleife rückwärts auszulesen, bringts auch nicht.
PPPS: Bitte nachvollziehbare Lösungswege. Idealer Weise als Bsp
