Nes*_*afe 2 php sql ajax jquery animation
在我提出这个问题之前,我已经提到了这个问题的例子.但是,它似乎不起作用.不使用ajax,我可以删除我的帖子,但在实现ajax后,deleteAtc.php似乎无法正常工作.
我的删除页面代码(delete.php)
<h4>Select an Article to Delete:</h4>
<?php foreach ($articles as $article) { ?>
<span><?php echo $article['article_title']; ?></span> <a href="#" id="link">Delete</a><br />
<script type="text/javascript">
$(function(){
$('#link').click(function(){
var id = <?php echo $article['article_id']; ?>;
$.ajax({
type: "GET",
url: "deleteAtc.php",
data: "id"+id+,
sucess: function() {
$('#sucess').html(data);
}
})
return false;
});
});
</script>
<div id="success"></div><br />
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
虽然我的deleteAtc.php代码:
<?php
session_start();
include_once('../includes/connection.php');
if (isset($_SESSION['logged_in'])) {
if (isset($_GET['id'])) {
$id = $_GET['id'];
$query = $pdo->prepare('DELETE FROM articles WHERE article_id = ?');
$query->bindValue(1, $id);
$query->execute();
echo "Article deleted";
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我在这里要做的是删除记录而不重定向deleteAtc.php
,它将删除记录并替换Article Deleted
我可以知道我在阿贾克斯方面出了什么问题吗?
请参阅下面的更新问题
基于以下答案,这是我更新的代码:
delete.php
<h4>Select an Article to Delete:</h4>
<div id="message"></div>
<?php foreach ($articles as $article) { ?>
<span><?php echo $article['article_title']; ?></span>
<a href="#" class="link" data-artid="<?php echo $article['article_id']; ?>">Delete</a><br />
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
脚本
<script type="text/javascript">
$(function(){
$('.link').click(function(){
var elem = $(this);
$.ajax({
type: "GET",
url: "deleteAtc.php",
data: "id="+elem.attr('data-artid'),
dataType:"json",
success: function(data) {
if(data.success){
elem.hide();
$('#message').html(data.message);
}
}
});
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
deleteAtc.php
<?php
session_start();
include_once('../includes/connection.php');
if (isset($_SESSION['logged_in'])) {
if (isset($_GET['id'])) {
$id = $_GET['id'];
$query = $pdo->prepare('DELETE FROM articles WHERE article_id = ?');
$query->bindValue(1, $id);
$query->execute();
//Also try to handle false conditions or failure
echo json_encode(array('success'=>TRUE,'message'=>"Article deleted"));
}
}
?>
Run Code Online (Sandbox Code Playgroud)
不知何故,如果我一次删除两条记录,只有第一条记录回显结果,第二条删除的结果不会回显结果.
我想知道,可以添加jquery动画来显示成功消息和.hide记录被删除了吗?
首先,ID并不意味着重复,而是使用类选择器.您还可以使用自定义数据属性来存储文章的ID.
尝试
<h4>Select an Article to Delete:</h4>
<div id="message"></div>
<?php foreach ($articles as $article) { ?>
<span><?php echo $article['article_title']; ?></span>
<a href="#" class="link" data-artid="<?php echo $article['article_id']; ?>">Delete</a><br />
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
脚本
<script type="text/javascript">
$(function(){
$('.link').click(function(){
var elem = $(this);
$.ajax({
type: "GET",
url: "deleteAtc.php",
data: "id="+elem.attr('data-artid'),
dataType:"json",
success: function(data) {
if(data.success){
elem.hide();
$('#message').html(data.message);
}
}
});
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
在服务器端
<?php
session_start();
include_once('../includes/connection.php');
if (isset($_SESSION['logged_in'])) {
if (isset($_GET['id'])) {
$id = $_GET['id'];
$query = $pdo->prepare('DELETE FROM articles WHERE article_id = ?');
$query->bindValue(1, $id);
$query->execute();
//Also try to handle false conditions or failure
echo json_encode(array('success'=>TRUE,'message'=>"Article deleted"));
}
}
?>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18696 次 |
最近记录: |