我正在尝试使用X-editable(Bootstrap)更新MySQL表。问题是 - 数据库没有得到更新。我在stackoverflow和其他地方经历了几个类似的问题。但是找不到解决方案。
我的mysql数据库有一个名为'paving_variety'的表,其中包含以下三列:
我的前端页面有如下表格:
<?php
$i = 1;
foreach ($obj->showAllFromTable('paving_variety') as $variety) {
extract($variety);
?>
<tr>
<td><?php echo $i++; ?></td>
<td class="id"><?php echo $id; ?></td>
<td><a href="#" class="xedit_variety" data-name="type" data-type="text" data-pk="<?php echo $id; ?>" data-url="post_variety_ajax.php"><?php echo $type; ?></a></td>
<td ><button class="status_change btn btn-default"><?php echo $publish; ?></button></td>
</tr>
<?php
}
?>
javascript文件包含以下代码:
$(document).ready(function() {
$('.xedit_variety').editable();
});
“post_variety_ajax.php”如下所示:
<?php
$pk = $_POST['pk'];
$name = $_POST['name'];
$value = $_POST['value'];
include 'adminclass.php';
if(!empty($value)) {
$gar->updateVarietyName($name,$value,$pk);
} else {
echo "This field is required!";
}
?>
“adminclass.php”具有以下用于更新数据库的代码:
public function updateVarietyName($name,$value,$pk) {
$query = mysqli_query($this->conn,"UPDATE paving_variety SET $name='$value' WHERE id='$pk'");
}
其他一切似乎都没问题,但数据库没有得到更新。有人有什么建议吗?
感谢。平静。
答案 0 :(得分:3)
好的,我终于解决了这个问题。它如下:
$('.xedit_variety').editable({
ajaxOptions : {
type : 'post'
}
});
希望它可以帮助其他人面对同样的问题。
答案 1 :(得分:0)
或者你可以使用,
$(document).ready(function() {
$('.xedit_variety').editable({
name: 'type',
type: 'text',
url: 'post_variety_ajax.php'
});
});
你应该删除的地方
data-name="type"
data-type="text"
data-url="post_variety_ajax.php"
在您的可编辑链接中。
答案 2 :(得分:0)
或者您可以在$_REQUEST[]
文件中使用post_variety_ajax.php
来处理请求和发布请求。
我在这里找到了一个可编辑的教程: - jQuery X editable plugin