大量のcheckboxにcheckedを入れる
チェックボックスが50個あります。
送信ボタンを押して元のページを再度開きます。
そのときにチェックしたボックスにチェックを入れた状態にしたいです。
inputタグの中に<?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>を入れていますが単調になってしまいます。
単調にならずにする方法はありますか?
<input type="checkbox" name="chk1[]" value="a1" />の場合はインデックスが固定でないのでできませんでした。
その他いけない箇所があれば教えて下さい。
お願いします。
<?php
if(isset($_GET["chk1"])){
$checkbox1 = $_GET["chk1"];
for($i=0; $i<sizeof($checkbox1); $i++){
print $checkbox1[$i]."<br />";
}
}
if(isset($_GET["chk2"])){
$checkbox2 = $_GET["chk2"];
foreach($checkbox2 as $key => $val){
print $val."<br />";
}
}
?>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form method="get" action="checkbox.php">
<input type="checkbox" name="chk1[]" value="a1" />
<input type="checkbox" name="chk1[]" value="a2" />
<input type="checkbox" name="chk1[]" value="a3" />
<input type="checkbox" name="chk1[]" value="a4" />
<input type="checkbox" name="chk1[]" value="a5" />
<input type="checkbox" name="chk1[]" value="a6" />
<input type="checkbox" name="chk1[]" value="a7" />
<input type="checkbox" name="chk1[]" value="a8" />
<input type="checkbox" name="chk1[]" value="a9" />
<input type="checkbox" name="chk1[]" value="a10" />
<br />
<input type="checkbox" name="chk2['b1']" value="b1" <?php if(isset($checkbox2) && in_array('b1',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b2']" value="b2" <?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b3']" value="b3" <?php if(isset($checkbox2) && in_array('b3',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b4']" value="b4" <?php if(isset($checkbox2) && in_array('b4',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b5']" value="b5" <?php if(isset($checkbox2) && in_array('b5',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b6']" value="b6" <?php if(isset($checkbox2) && in_array('b6',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b7']" value="b7" <?php if(isset($checkbox2) && in_array('b7',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b8']" value="b8" <?php if(isset($checkbox2) && in_array('b8',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b9']" value="b9" <?php if(isset($checkbox2) && in_array('b9',$checkbox2)){echo ' checked';} ?>/>
<input type="checkbox" name="chk2['b10']" value="b10" <?php if(isset($checkbox2) && in_array('b10',$checkbox2)){echo ' checked';} ?>/>
<br />
<input type="submit" value="送信" />
</form>
</body>
</html>
お礼
ご回答ありがとうございます。 読書の文字がチェックボックスより下にずれています。 いただいた読書、釣りの画像もずれているように私は見えます。