昨日質問させて頂きました件は、上手く行きました。ありがとうございました。また、行き詰ってしまったのでよろしくお願いいたします。
$intersectという配列があります。中身はarray(20,22)です。
データベースのテーブルから、fetch_arrayですべてを取り出し、
この値と同じである場合、チェックボックスにチェックを入れたいと考えています。
しかし、最後の値しかチェックボックスにチェックが入りません。どうかよろしくお願いいたします。
**********************************************************
$sql = "SELECT * FROM option_name";
$res = mysql_query($sql, $conn) or die("データ抽出エラー");
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
$subject = $row["subject"];//題名
$option_no = $row["opno"];//プランNO
foreach ($intersect as $value){
if($value == $option_no){
$checked = "checked";
}else{
$checked = " ";
}
}
$op_subject .= "<input type='checkbox' name='subject[]' value='$option_no' $checked>$option_no$subject<br>";
}
print $op_subject;
No.1
- 回答日時:
foreachで回転させながらつねに$checkedを上書きしてますからねぇ・・・
こんな感じでよいのでは?
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
$subject = $row["subject"];
$option_no = $row["opno"];
$checked = in_array($option_no,$intersect)?" checked":"";
$op_subject .= "<input type='checkbox' name='subject[]' value='{$option_no}'{$checked}>{$option_no}{$subject}<br>";
}
print $op_subject;
yambejp様
いつもご回答ありがとうございます。
in_arrayも試してみましたが、出来ませんでした。
でもこんな書き方もあるんですね。
参考にさせて頂きます。
また勉強させてください。ありがとうございました。
No.2ベストアンサー
- 回答日時:
こんばんは。
foreach ($intersect as $value){
if($value == $option_no){
$checked = "checked";
}else{
$checked = " ";
}
だと、全部 else に流れます。
やるとすれば、初期化→一致でbreak、
$checked = "";
foreach ($intersect as $value){
if($value == $option_no){
$checked = "checked";
break;
}
でしょうか。
kashiwagi様、出来ました。
なるほど、最初に初期化して、値が入った時点でbreakするんですね。
配列は難しくてなかなか進みませんが、頑張って勉強しようと思います。
本当にありがとうございました。勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ラジオボタンを選択済みにすると列の最後に付いてしまいます
HTML・CSS
-
DBの値をチェックボックスに反映させたい
PHP
-
【初歩】ラジオボタンをつかったPHPフォームから値のMySQLへの格納と取り出し
MySQL
-
-
4
$_SESSIONに二次元配列を使えるのですか?
PHP
-
5
画面が更新されてもチェックボックスのチェック状態を維持したい
PHP
-
6
背景色を変えて未入力チェックをしたいのですが。。。
JavaScript
-
7
form actionで二つ送信先を指定する方法を教えて下さい。
PHP
-
8
php+mysqlで複数選択削除について
MySQL
-
9
複数のラジオボタングループを動的に作成するには?
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpプルダウンメニュー 日付チ...
-
phpでのセレクトボックスの値を...
-
phpのカウンタのリセット方法
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで画像の渡しが上手く行きま...
-
複数行のデータ一括更新に関して
-
POSTデータのNAME属性をVALUEに...
-
PHPでPCのローカル時刻は取得出...
-
POSTの値を配列として受け取っ...
-
IEで、フォームにたとえば
-
チェックボックスを用い、MySQL...
-
PHPでURLにジャンプするには?
-
フォームの途中で追加するには
-
POSTを使わずに値を渡す方法
-
フォームで作った送信ボタンが...
-
phpでショッピングカート機能を...
-
検索時の選択内容を保持する方法
-
PHPでユーザー情報を入力して簡...
-
VBA で、スペースを含むファイ...
-
送信ボタンでカウントアップ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンとCSVの連動
-
「"」(ダブルクォーテーション)...
-
ラジオボタンの値を受け取ってP...
-
<select>文、foreachと初期値設定
-
phpでのセレクトボックスの値を...
-
php セレクトボックス 値取得
-
複数のセレクトボックスを1つに...
-
複数 selectフォームから今回on...
-
2つのプルダウンメニュから受け...
-
phpでのselect値の取得・表記に...
-
foreachで次の行の値を取得して...
-
ウェブ上で選択した複数行の内...
-
CodeIgniter/set_value()
-
ループ処理
-
連動させたいセレクトボックス...
-
現在時刻を反映させた時刻のプ...
-
プルダウンリスト(コンボボッ...
-
PHP で画面の一部だけを変えたい。
-
phpでカレンダー作成
-
プルダウンで選択された値を保持
おすすめ情報