$ sourceは、この抽出では定義されていません。$ row ['checked']のことですか?
おそらく、クエリによって返される値が実際に期待する値であることを確認するのに役立つでしょう。次の行を使用すると、一時的にレイアウトが壊れますが、クエリが期待どおりに機能していることを確認するのに役立ちます。
while ($row=mysql_fetch_array($query)) {
echo '<input type="radio" name="source" value="'.$row['s_id'].'">'.$row['s_desc'];
echo '<br />checked: '.$row['checked'];
echo '<br />e_id: '.$row['e_id'];
echo '<br />e_desc: '.$row['e_desc'];
}
rb1の状態をどこで「チェック」していますか?私の現在の推測では、エンドユーザーはPHPスクリプトによって提供されるHTMLページのラジオボタンをチェックします...しかし、ボタンのローカルでチェックされた状態に関する情報については、サーバー上のデータベースを調べています。私の推測が正しければ、クリックするたびにページを再度表示する必要はありません。代わりに、可能なすべてのボタンを使用してページを提供し、CSSを使用してrb1ボタンが選択されていないrb2ボタンを非表示にすることができます。
注意:未テストのPHP
while ($row=mysql_fetch_array($query)) {
echo '<input type="radio" name="source" value="'.$row['s_id'].'"';
echo 'onclick=yourJavaScriptFunctionToDisplayTheRB2Button()';
echo '>'.$row['s_desc'];
echo '<input type="radio" name="exam" value="'.$row['e_id'].'"';
if (!$row['checked']) {
echo ' style="visibility=hidden"';
}
echo '>'.$row['e_desc'];
}
yourJavaScriptFunctionToDisplayTheRB2Button()については、こちらのjsFiddleの例を参照してください。