
昨日質問させて頂きました件は、上手く行きました。ありがとうございました。また、行き詰ってしまったのでよろしくお願いいたします。
$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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP セレクトボックスの値 GET...
-
データベースにある値でリスト...
-
HTML_QuickFormのチェックボッ...
-
セレクトしたときに全て初期状...
-
複数 selectフォームから今回on...
-
PHPでURLにジャンプするには?
-
PHPで、ボタンを押すと同じペー...
-
POSTを使わずに値を渡す方法
-
name属性が全角の場合・・・
-
セッションを使わずに遷移先画...
-
laravelを利用してコントロール...
-
"/". $valueptr . "/", の”/”は...
-
チェックボックスのvalueを連結...
-
HTMLで前の画面に戻る時、入力...
-
フォームの送信ボタンが押され...
-
POSTの値を配列として受け取っ...
-
POSTの項目に追加
-
ラジオボタンをsessionで使いたい
-
検索時の選択内容を保持する方法
-
HTMLのリンクをクリックするこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<select>文、foreachと初期値設定
-
複数 selectフォームから今回on...
-
vb2005のcomboboxについて
-
PHPとpostgreSQL プルダウンの作成
-
multipleを使用するとプルダウ...
-
[PHPとHTML]リストボックスにつ...
-
現在時刻を反映させた時刻のプ...
-
<select>の値によってclassを変...
-
セレクトしたときに全て初期状...
-
phpの変数について
-
local環境でのテストで、FORMタ...
-
2つのプルダウンメニュから受け...
-
既存エンジンを利用したHTML&P...
-
phpの質問です
-
PHP プルダウンメニュー
-
コンボボックス(プルダウン)...
-
プルダウンで選択された値を保持
-
PHPでセレクトメニュー
-
ホームページのセレクトメニュ...
-
多次元配列の値が変わってしま...
おすすめ情報