此摘录中未定义 $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'];
}
对于您的 JavaScriptFunctionToDisplayTheRB2Button(),请参阅此处的 jsFiddle 示例。