我的代码有什么问题。我想使用AJAX从可编辑的(表单)中检索数据,以更新和保存在数据库中,但它不工作,以及,
下面是我的代码:
<?php
$query = db_get_list("SELECT * FROM stories ORDER BY id DESC");
foreach($query as $item) {
$id= $item['id'];
?>
<?php var_dump($item['id']); ?>
<tr>
<th scope="row"><?php echo $item['id'];?></th>
<td class="ttruyen" id="tentruyen_<?php echo $item['id'];?>" contenteditable="true">
<?php echo $item["tentruyen"]; ?>
</td>
<td class="tgia" id="tacgia_<?php echo $item['id'];?>" contenteditable="true">
<?php echo $item["tacgia"]; ?>
</td>
<td class="ttat" id="tomtat_<?php echo $item['id'];?>" contenteditable="true">
<?php echo $item["tomtat"]; ?>
</td>
<td class="ndung" id="noidung_<?php echo $item['id'];?>" contenteditable="true">
<?php echo $item["noidung"]; ?>
</td>
<td><button class="label delete label-danger" id='del_<?php echo $item['id']; ?>' ">delete</button></td>
<td><button class="label edit label-info" id="edit_<?php echo $item['id']; ?>">edit</button></td>
</tr>
<?php } ?>
- 和AJAX编辑功能:**
$(document).on('click', '.edit' ,function() {
var id = this.id;
var split_id = id.split("_");
var field_name = split_id[0];
var edit_id = split_id[1];
var value = $(this).text();
var ttruyen = $('#ttruyen').text();
var tgia = $('#tgia').text();
var ttat = $('#ttat').text();
var ndung = $('#ndung').text();
$.ajax ({
url : "modules/favorites/edit.php",
type : "POST",
dataType : "text",
data : {
tentruyen: ttruyen, tacgia: tgia, id:edit_id , tomtat : ttat, noidung : ndung
},
success: function (data) {
$('#alert_message').html("<div class='col-sm-4 alert alert-success' ><b>Edit</b> data successfully</div>");
fetchdata(data);
}
});
setInterval(function() {
$("#alert_message").html('');
}, 3000);
});
2条答案
按热度按时间bq3bfh9z1#
这是另一种方法。
上面的代码,删除了每个
td
中的所有$item['id']
。它还为您的edit button
添加了一个id
。它还删除了不必要的代码。为了获得所有需要的数据,
$("button#edit")
会在td
中单击特定按钮。因此,无需为每个按钮指定id="edit_<?php echo $item_id; ?>"
。这应该可以工作。如果这是解决方案,请不要忘记将接受设置为正确答案。谢谢。vs91vp4v2#
根据日志记录,我认为“id”的请求不是复数(数组)。
确保文件路径正确。