我试图发布但第二次遇到问题
当我们最初发布时,值正在数据库中正确更新,但是当我们添加新帖子并尝试发布时,所有数据库值都从'1(上一个值)更新为'0'
<button class="btn btn-secondry" id="publish">Publish</button>
$queryNum = $pdo->prepare("SELECT * FROM news where intNewsType= 0 ORDER BY intNewsId");
$postID = $row['intNewsId'];
<td><input type="checkbox" name="checkbox" class="checkbox" value="<?php echo $postID; ?>" /></td>
文件功能
$(document).ready(function(){
$("#publish").click(function() {
var data = [];
$('.checkbox').each(function() {
data[$(this).attr('value')]=$(this).prop('checked') ? 1: 0;
});
$.ajax({
type: "POST",
url: "publish.php",
data: {fields : data},
success: function() {
alert('Page published successfully!');
}
});
});
});
publish.php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
foreach($_POST['fields'] as $key=>$val)
{
$sql = $pdo->prepare("UPDATE news SET intNewsType ='$val' WHERE intNewsId ='$key'");
$sql->execute();
}
我真的不明白你想要实现什么,但这是我认为你的代码错了。
$queryNum = $pdo->prepare("SELECT FROM news where intNewsType=0");
从$postID = $row['intNewsId'];
上面的查询得到的值是1,当你在<input type="checkbox" name="checkbox" class="checkbox" value="<?php echo $postID; ?>" />
中使用它时,它会自动将每个复选框的值设置为1.当你从Jquery中检索值时,如果没有选中之前的文章,它将自动发送0而不是1。