昨日質問させて頂きました件は、上手く行きました。ありがとうございました。また、行き詰ってしまったのでよろしくお願いいたします。
$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.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するんですね。
配列は難しくてなかなか進みませんが、頑張って勉強しようと思います。
本当にありがとうございました。勉強になりました。
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も試してみましたが、出来ませんでした。
でもこんな書き方もあるんですね。
参考にさせて頂きます。
また勉強させてください。ありがとうございました。
お探しの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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
DBの値をチェックボックスに反映させたい
PHP
-
ラジオボタンを選択済みにすると列の最後に付いてしまいます
HTML・CSS
-
【初歩】ラジオボタンをつかったPHPフォームから値のMySQLへの格納と取り出し
MySQL
-
-
4
画面が更新されてもチェックボックスのチェック状態を維持したい
PHP
-
5
$_SESSIONに二次元配列を使えるのですか?
PHP
-
6
背景色を変えて未入力チェックをしたいのですが。。。
JavaScript
-
7
form actionで二つ送信先を指定する方法を教えて下さい。
PHP
-
8
php+mysqlで複数選択削除について
MySQL
-
9
複数のラジオボタングループを動的に作成するには?
PHP
-
10
チェックボックスの項目をDBにinsertしたい
MySQL
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP セレクトボックスの値 GET...
-
<select>文、foreachと初期値設定
-
CodeIgniter/set_value()
-
セレクトフォームで選択した複...
-
php プルダウンメニュー 時刻...
-
プログラミング言語で、使える...
-
フォームのテキストボックスに...
-
チェックボックスによる検索
-
phpでショッピングカート機能を...
-
Flaskでサーバー立ち上げに関して
-
PHPの送信フォームについての質...
-
PHPの簡単な掲示板での日付順表示
-
アップロードファイル名の文字化け
-
($_POST['email']??"", ・・・...
-
php CSVファイル出力後そ...
-
フォームボタンを押すたびに数...
-
PHPでPCのローカル時刻は取得出...
-
if文のなかで
-
foreachがうまく動かない
-
管理パスワードによる認証
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンとCSVの連動
-
「"」(ダブルクォーテーション)...
-
ラジオボタンの値を受け取ってP...
-
<select>文、foreachと初期値設定
-
phpでのセレクトボックスの値を...
-
複数 selectフォームから今回on...
-
php セレクトボックス 値取得
-
複数のセレクトボックスを1つに...
-
2つのプルダウンメニュから受け...
-
phpでのselect値の取得・表記に...
-
foreachで次の行の値を取得して...
-
ウェブ上で選択した複数行の内...
-
CodeIgniter/set_value()
-
ループ処理
-
連動させたいセレクトボックス...
-
PHP で画面の一部だけを変えたい。
-
phpでカレンダー作成
-
現在時刻を反映させた時刻のプ...
-
プルダウンで選択された値を保持
-
プルダウンリスト(コンボボッ...
おすすめ情報