私は、複数のフォームは、whileループで選択します:forループ内の複数の選択は、フォームに戻ったとき、それはデータだ失っている
$bewerking_id[$i] = array();
$bewerking_id[$i] = $_POST['name_bewerking_id'][$i];
if(isset($bewerking_id_temp[$i]))
{
foreach($bewerking_id_temp[$i] as $temp[$i])
{
array_push($bewerking_id[$i], $temp[$i]);
}
}
:フォームが送信されると
while ($row_i = mysql_fetch_array($res_i))
{
$i++;
// maak select name
$name_bewerking_id = 'bewerking_id'.$i;
?>
<tr valign="top">
<td>
<select name="<?php echo $name_bewerking_id ?>[]" multiple="multiple" size="2">
<?php
$sql = "SELECT id, bewerking FROM bewerkingen ORDER BY bewerking ASC";
$res = mysql_query($sql,$con);
while ($row = mysql_fetch_assoc($res))
{ ?>
<option value="<?php echo $row['id']; ?>"><?php echo $row['bewerking']; ?></option>
<?php } ?>
</select>
</td>
</tr>
<?php
}
形態に戻っ:
for ($i = 0; $i <= $aantal_regels_corr; $i++)
{
// maak select name
$name_bewerking_id = 'bewerking_id'.$i;
?>
<tr valign="top">
<td>
<select name="<?php echo $name_bewerking_id ?>[]" multiple="multiple" size="2">
<?php
$sql = "SELECT id, bewerking FROM bewerkingen ORDER BY bewerking ASC";
$res = mysql_query($sql,$con);
while ($row = mysql_fetch_assoc($res))
{ ?>
<option <?php if(isset($bewerking_id[$i]) && in_array($row['id'], $bewerking_id[$i])){ echo 'selected="selected"'; } ?> value="<?php echo $row['id']; ?>"><?php echo $row['bewerking']; ?></option>
<?php } ?>
</select>
</td>
</tr>
<?php
}
形に戻る(他のフィールドのいずれかが充填されていない)町senオプションは失われ、再度選択されません。
どこが乱れましたか?
また、選択名の末尾に「[]」を追加してください...なぜですか? – simopisto
これは配列なので[]を追加しましたが、[]を除いた同じ結果です。私は識別子を変更しました。 did not work – Muiter