PHP+MySQLで複数のラジオボタンから値を取得
初めまして。もしお力を貸していただけるならと思い質問させていただきます。
今、MySQLに登録したデータを修正できるようにするファイルを作成しておりまして、
IDを指定すれば、ラジオボタンに登録されているデータがcheckedされるようにしたいと
考えています。
【MySQL】
[hoge]
id
hogeA 0or1
hogeB 0or1
hogeC 0or1
【update.php】
<?php
require ("../dbconnect.php");
$_REQUEST["id"] = 選択したIDの受け渡し;
$id = $_REQUEST["id"];
$sql = sprintf ("SELECT * FROM hoge WHERE id=%d",
mysql_real_escape_string ($id)
);
$recordSet = mysql_query ($sql) or die (mysql_error());
$data = mysql_fetch_assoc ($recordSet);
$checkedOK = null;
$checkedNG = null;
switch($data["hogeA"]){
case 0:
$checkedOK = 'checked';
break;
case 1:
$checkedNG = 'checked';
}
?>
<html>
<head>
<form method="post" id="updateForm" action="update.php" enctype="multipart/form-data">
<table>
<tr>
<th>hogeA</th>
<td><label>
<input type="radio" name="hogeA" id="hogeA01" class="style02" value="0" <?php echo (htmlspecialchars($checkedOK, ENT_QUOTES)); ?> />
OK</label>
<label>
<input type="radio" name="hogeA" id="hogeA02" class="style02" value="1" <?php echo (htmlspecialchars($checkedNG, ENT_QUOTES)); ?> />
NO</label></td>
</tr>
<tr>
<th>hogeB</th>
<td><label>
<input type="radio" name="hogeB" id="hogeB01" class="style02" value="0" <?php echo (htmlspecialchars($checkedOK, ENT_QUOTES)); ?> />
OK</label>
<label>
<input type="radio" name="hogeB" id="hogeB02" class="style02" value="1" <?php echo (htmlspecialchars($checkedNG, ENT_QUOTES)); ?> />
NO</label></td>
</tr>
<tr>
<th>hogeC</th>
<td><label>
<input type="radio" name="hogeC" id="hogeC01" class="style02" value="0" <?php echo (htmlspecialchars($checkedOK, ENT_QUOTES)); ?> />
OK</label>
<label>
<input type="radio" name="hogeC" id="hogeC02" class="style02" value="1" <?php echo (htmlspecialchars($checkedNG, ENT_QUOTES)); ?> />
NO</label></td>
</tr>
</head>
</html>
とした場合、当然ですがhogeA,hogeB,hogeCには同じ値が入ってしまいます。
hogeB,hogeCも同じ様にSWITCH文を書けば実装できると思うのですが、
foreach等を使って複数のラジオボタンを取得するいい方法があれば、
教えていただきたいです。
説明が不十分で申し訳ありません。もし快くお答えいただける方がいれば大変嬉しく思います。
お礼
ありがとうございます。 同じような結果に辿り着いたところでした。 $('#hoge').parents('td').first(); tdの更に上にtdがあっても対象外にしたかったので上記の方法にしましたですです。