0

私は、ユーザーが 7 つのチェックボックスを選択できるシステムに取り組んでいます。それぞれが曜日を表しています。

彼らが M、T、W、T、F を選択した場合、12345 を文字列としてデータベースに挿入します。W、T、F、S、SI を選択した場合、34567 をデータベースに挿入します。インサートはすべて正常に機能しています。

次に、データベースからデータを取得すると、現在選択されている日を表示するのに苦労しています。データベースからデータを取得し、それを個々のアイテムに展開してから foreach ループを実行しましたが、次に何をすべきかわかりません。

$wdays_array = str_split($wdays);

foreach($wdays_array as $day) {
 // do something here
}

さらに下には、最初に挿入するために使用するHTMLコードがあり、選択を変更するために戻ってきたときに値が設定されているかどうかを確認するために変更する必要があります。

<ul>
 <li><input type="checkbox" name="wdays[]" value="1"/> <label>Monday</label></li>
 <li><input type="checkbox" name="wdays[]" value="2"/> <label>Tuesday</label></li>
 <li><input type="checkbox" name="wdays[]" value="3"/> <label>Wednesday</label></li>
 <li><input type="checkbox" name="wdays[]" value="4"/> <label>Thursday</label></li>
 <li><input type="checkbox" name="wdays[]" value="5"/> <label>Friday</label></li>
 <li><input type="checkbox" name="wdays[]" value="6"/> <label>Saturday</label></li>
 <li><input type="checkbox" name="wdays[]" value="7"/> <label>Sunday</label></li>
</ul>

ユーザーが現在 MySQL のフィールドにあるものに基づいてフォームをリロードしたときに、正しいチェックボックスがオンになっていることを確認するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

これを行うにはたくさんの方法があります。

<ul>
 <li><input type="checkbox" name="wdays[]" value="1"<?php if(in_array(1, $wdays_array)){echo "checked='checked'";}?>/> <label>Monday</label></li>
 <li><input type="checkbox" name="wdays[]" value="2"<?php if(in_array(2, $wdays_array)){echo "checked='checked'";}?>/> <label>Tuesday</label></li>
 <li><input type="checkbox" name="wdays[]" value="3"<?php if(in_array(3, $wdays_array)){echo "checked='checked'";}?>/> <label>Wednesday</label></li>
....
</ul>

in_arrayを確認してください

于 2012-10-29T20:41:46.260 に答える