我想在网页(用php编写)上表示“是”和“否”的两个单选按钮。当我加载页面时,我希望它从MySQL数据库获取一个值并设置相应的单选按钮。当我点击另一个按钮时,我希望它更新数据库并重新加载页面。以HTML格式设置单选按钮的mysql值
我想用一个简单的html表单来做到这一点,但没有运气。我至今(即不工作的代码:(是:
if (!isset($_POST['submit'])) {
$sql = "SELECT challenge_me FROM contestants WHERE id=$id";
$res = (mysql_fetch_assoc(mysql_query($sql, $db)));
$challenge_me = $res["challenge_me"];
}else{
$sql = "UPDATE contestants SET challenge_me='" . $_POST['YesNo'] . "' WHERE id='$id'";
if(!mysql_query($sql, $db))
echo mysql_error(), "<br/>Query '$sql'";
$challenge_me = $_POST['YesNo'];
}
echo'<form method="post" action="' . $PHP_SELF . '">';
echo '<input type="hidden" name="submit" value="submit">';
if($challenge_me == 1){
echo'<input type="radio" name="YesNo" value="1" onClick="this.form.submit();" checked>Yes ';
echo'<input type="radio" name="YesNo" value="0" onClick="this.form.submit();">No ';
}else{
echo'<input type="radio" name="YesNo" value="1" onClick="this.form.submit();">Yes ';
echo'<input type="radio" name="YesNo" value="0" onClick="this.form.submit();" checked>No ';
}
echo'</form>';
不是您的问题的答案,但您不应该使用字符串连接来构建SQL查询。您的脚本当前容易受到SQL注入攻击,基于使用'$ _POST ['YesNo']'没有至少逃脱它或使用MySQL语句 – Rob 2011-05-10 22:09:13
它怎么不工作?发生了什么? – thefugal 2011-05-10 22:12:40
嗯,似乎我解决了它。它不工作,如果隐藏的帖子被命名为“提交“当我点击rad时,阻止了表单做任何事情io按钮。将其重命名为其他方式运行良好... 并感谢关于sql注入的评论! – faximan 2011-05-11 05:41:26