※ ChatGPTを利用し、要約された質問です(原文:PHPでフォーム画面を作成しています。)
PHPフォーム画面のチェックボックス値の引継ぎがうまくいかない
このQ&Aのポイント
PHPでフォーム画面を作成しています。そのフォームには配列でチェックボックスがありますが、戻る画面に戻ると値が引き継げていません。
hiddenで値を引き継ぎ、hiddenの値とDBでselectした値を比較してchecked属性を追加していますが、うまく動作しません。
ソースコードを確認しましたが、foreachループでチェックボックスを表示している部分に問題がある可能性があります。
PHPでフォーム画面を作成しています。
そのフォームには配列でチェックボックスがあるのですがそのチェックされて確認画面で表示まではできているのですが、戻る画面に戻るとうまく値が引き継げてない状態です。
引継ぎはhiddenで戻るページまではきている状態です。
あとは、hiddenの値とDBでselectしてのを比較してあればcheckedをつけるだけだと思っているんですが
そこでうまくいっていない状態です。
下記がソースです。
■DBからループで表示するチェックボックスを配列に
$businessSQL = "SELECT * FROM business_tbl WHERE dell_flag = 0";
$businessQuery = mysql_query($businessSQL);
$businessArray = array();
while($row = mysql_fetch_assoc($businessQuery)) {
$businessArray[] = $row;
}
■hiddenで値を引き継ぎ
※下記の例は2個チェックされhiddenで戻ってきた状態
チェックボックス名(配列):com_business
Array
(
[0] => 1
[1] => 2
)
■hiddenとDBからselectしたbussines_idを比較
<?php foreach($businessArray as $val) { ?>
<?php foreach($inputArray['com_business'] as $val1) { ?>
<?php if($val1 == $val['bussiness_id']) { ?>
<input type="checkbox" name="com_business[]" value="<?php print($val['business_id']); ?>" checked><?php print($val['business']); ?> <br>
<?php } else { ?>
<input type="checkbox" name="com_business[]" value="<?php print($val['business_id']); ?>"><?php print($val['business']); ?> <br>
<?php } ?>
<?php } ?>
<?php } ?>
宜しくお願い致します。
お礼
ご連絡が遅れてしまい申し訳ございませんでした。 早速試したところできました!!! かなりはまっていたので本当に助かりました。 本当にありがとうございました。