我正在使用AJAX在PHP中创建一个简单的CRUD应用程序。阅读和添加记录效果很好。但是,在更新和删除时,它不起作用。
read_categories.php
<?php
include_once '../../config/Database.php';
echo "<table class='table'>
<tr>
<th>Category Name</th>
<th></th>
</tr>";
$result = DB::query("SELECT c.* FROM categories c;");
foreach ($result as $row) {
echo "<tr>
<td style='padding-top:15px;'>" . $row['CategoryName'] . "</td>
<td>
<button class='btn btn-warning btn-sm'>Edit</button>
<button onclick='deleteCategory(" . $row['CategoryID'] .");' class='btn btn-danger btn-sm'>Delete</button>
</td>
</tr>";
} //for loading categories table
echo "</table>";
?>
category.js
function showCategories(){
$.ajax({
type: "GET",
url: "category-scripts/read_categories.php"
}).done(function(data){
$('#category-list').html(data);
});
}
将从DB中提取的记录列表将加载到:
<div id="category-list"></div>
categories.php
中的
但是,我找不到源代码,这意味着即使我为编辑和删除按钮编写另一个JS函数,它也不会运行。有没有办法在带有可查看源的AJAX的PHP文件中加载标签?
答案 0 :(得分:1)
您可以创建类似的js功能来编辑和删除类别
使用id参数传递编辑/删除类别的ID,以便您知道要编辑/删除哪个类别。
$('.editBtn').click(function(){
var testId = $(this).attr('id'); // testId will have edit_1 , edit_2 depending upon catID
var temp = testId .split('_');
var selectedId = temp[1];
//So, temp[1] will have the numeric ID value.
$.ajax({
type: "POST,
data: { 'id' : selectedId },
url: "category-scripts/categories.php"
}).done(function(data){
$('#category-list').html(data); // OR here you can call the
//showCategories() function
});
});
注意:您可以通过指定类别ID来编辑按钮/删除按钮来获取此“selectedID”。
这里的提示就是那个
<button class='btn btn-warning btn-sm editBtn' id='edit_'<?php echo $row['CategoryID'];?>>Edit</button>
现在您在category.php中有categoryID,因此您可以根据此categoryID编写编辑或删除查询