我有这个显示多个单选按钮的PHP代码:
<?php
foreach ($_SESSION["resellers"] as $reseller) {
$sql2="SELECT * from reseller where sequence = '".$reseller."' ";
$rs2=mysql_query($sql2,$conn) or die(mysql_error());
$result2=mysql_fetch_array($rs2);
echo '<input type="radio" name="reseller" value="'.$reseller.'" /> '.$result2["company"].'<br>';
}
?>
我希望根据选中的单选按钮在页面下方运行另一个SQL查询:
<select name="reseller_customer">
<option value="">Please Choose</option>
<?php
$sql2="SELECT * from customer where resellerid = '".$reseller."' ";
$rs2=mysql_query($sql2,$conn) or die(mysql_error());
$result2=mysql_fetch_array($rs2);
echo '<option value="'.$reseller.'">'.$result2["company"].'</option>';
?>
</select>
我该怎样做where resellerid = "CHECKED RADIO BUTTON"
答案 0 :(得分:1)
为此,您应该使用一些ajax调用或其他东西,因为当用户选择单选按钮时已经执行了php。
要获取所选的单选按钮,您可以使用jquery:
<script>
var id = $("#myform input[type='radio']:checked").val();
</sciprt>
然后,您可以发送带有$ id的ajax请求来执行所需的sql。
您还可以查看:How can I know which radio button is selected via jQuery?
ajax请求应如下所示:
function myAjaxRequest(id) {
$.ajax({
url: 'http://path/to/file/with/the/sql/function',
type: 'POST',
data: {id: id},
success: function (response) {
alert ("Everything went fine!)";
}
});
}
在具有Sql功能的文件中,您可以使用以下命令获取所选的ID:
$id = $_POST["id"];
答案 1 :(得分:0)
由于“CHECKED RADIO BUTTON”本身不是值,因此您之前执行的相同查询应该满足您的需求。选中单选按钮时,只会将选中的单选按钮的值传递给数据库。
答案 2 :(得分:0)
<script>
$(document).ready(function() {
$("input[name='reseller']").change(function() {
var resellerid = $(this).val();
$.ajax({
type: "POST",
url: "company.php",
data: {resellerid: resellerid}
})
.done(function(company) {
$("select[name='reseller_customer'] option[value='']").next().remove();
$("select[name='reseller_customer']").append("<option value='" + resellerid + "'>" + company + "</option>");
});
});
});
</script>