質問: null; if (isset($_COOKIE["last_dtype"])){ //*** name="dtype"のラジオボタンを順次(ループ)参照し、当該HTML要素のvalueが ***// //*** 条件文のクッキーと同値である場合 選択した表示を行いたい。 ***// } } catch (PDOException $e) { error_log("### SQL Serverデータ取得失敗 ⇒".$sql."###".$e->getMessage(),0); exit(); } ?> ``` 別途、table内の行違いで同じnameのinput type=text要素を参照していかなければならない課題もあるので、当案件の理解を流用して、こちらも達成したいと考えています。 何卒よろしくお願い申し上げます。
回答: 2つほどポイントが有りますので、長文になりますがご容赦くださいませ。 (1)フォームの配列化について ラジオであれば択一選択なので配列(name=dtype[])にする必要はないですね。 チェックボックス等の複数選択であれば必要になります。 (2)HTMLの吐き出しのタイミングでデフォルトチェックを入れる radioやcheckboxにデフォルトでチェックを入れる方法はinputタグの属性に `checked="checked"`を追加すればいけます。つまりinputタグを生成している処理で 合わせて属性の追加が必要です。 Cookieには最終チェックのradioのvalueが代入されていると仮定すると ``` while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $default_check = ""; //空文字 if (isset($_COOKIE["last_dtype"])){ //Cookieが設定されている if ($_COOKIE["last_dtype"] == $row["TYPE"]) { //更に該当のvalueが設定されている場合 $default_check = "checked=\"checked\""; // デフォルトチェックの属性を追加 } } print "".$row["COMMENT"];//Cookieが存在するvalueの値だった場合はデフォルトチェック属性が追加、それ以外は空文字が追加 PRINT " \n\t\t\t\t\t"; } ``` 上記のようにinputを生成するときにデフォルトチェックを入れるため