【发布时间】:2018-06-14 13:07:36
【问题描述】:
我正在尝试获取复选框的值(真或假)并在 while 函数中更新一行的数据库。但是,复选框似乎只根据第一行记录值的变化。例如,如果选中第 1 行复选框,则 value = true。然后我可以单击以下行并获取 true 的复选框值。但是,当我单击第一行之外的行以获得错误时,它只会在第一行复选框未选中的情况下注册。我认为这与行 ID 有关,但尝试了很长时间来修复它但无法修复它。请帮忙。
HTML/PHP
while($row = $result->fetch_assoc()) {
echo
'
<input type="checkbox" name="home['.$row["id"].']" id="'.$row["id"].'" '.($row["home"]>0 ? 'checked="checked"' : '').'>
<label for="'. $row["id"].'"></label>
JQUERY
$(document).ready(function(){
$('input[type="checkbox"]').on("click", function(){
var on = $('input[type="checkbox"]').prop("checked");
$.post("work/updateaddress.php",{home:on,id:this.id});
});
});
PHP/MYSQL
if ($home == 'true') {
$check = date("Ymd");
} else {
$check = '';
}
if(isset($_POST["home"])) {
$sql = "UPDATE addresses SET home='$check' WHERE id='$id'";
if($mysqli->query($sql) === TRUE){
} else {
echo "error" . $sql . "<br>".$mysqli->error;
}
}
【问题讨论】: