我有一个管理面板,我想在每个订单上使用单选按钮将订单状态更新为待处理/已完成。
这是我的HTML:
<td><form class="radio">
<label><input type="radio" name="radio" value="0" checked="checked" data-id="42">Pending</label>
<label><input type="radio" name="radio" value="1" data-id="42">Done</label>
</form></td>
这是JavaScript:
$("input[type='radio']").click(function() {
var radio = $(this).val();
var id = $(this).data("id");
$.ajax({url: "functions.php?radio=" + radio + "&id=" + id, success: function(result){
alert(result);
}});
});
这是我的PHP:
if($_GET['radio']) {
$query = "UPDATE `kvitel` SET `status`= ".$_GET['radio']." WHERE `id`= " . $_GET['id'] . " LIMIT 1";
if ($conn->query($query) === TRUE) {
echo 1;
} else {
echo 2;
}
}
当我按下“完成”单选按钮时,一切正常,但当我尝试按下“待定”单选按钮时,我得到一个空的AJAX响应,数据库不会更新。
任何人都可以帮我这个吗???
答案 0 :(得分:1)
您的问题是value="0"
,if
中的PHP
语句失败,因为它变为0
false
if($_GET['radio']) { // GET value is 0, this fails.
答案 1 :(得分:1)
尝试更改:
if($_GET['radio'])
到
if(isset($_GET['radio']))
如果你看if(variable)
你正在检查一个布尔值,0意味着假,所以它不应该进入那个分支