我接下来是一个教程视频(长度为112个视频),因此在编码方面,我在许多方面都很无知;虽然我已经学会了一吨。
我遇到的困难就是标题所说的。在我目前正在处理的管理面板中,我(例如)将一个段落标记分配给jquery引导助手类“alert alert-success”,如下所示:http://i1379.photobucket.com/albums/...ps44962161.png
。
它在上面的例子中工作的原因是因为在命中保存(插入和更新)时运行的SQL不需要ajax。
INSERTING和UPDATING位于config文件夹中名为“queries.php”的文件中时执行的代码。它如下(当然是错误处理部分):
case 'pages':
if (isset($_POST['submitted']) && $_POST['submitted'] == 1) {
// POST vars
$title = mysqli_real_escape_string($dbc, $_POST['title']);
$label = mysqli_real_escape_string($dbc, $_POST['label']);
$header = mysqli_real_escape_string($dbc, $_POST['header']);
$body = mysqli_real_escape_string($dbc, $_POST['body']);
if (isset($_POST['id']) AND $_POST['id'] != ''){
$action = "updated";
// UPDATE
$query = "UPDATE posts SET user = $_POST[user], slug = '$_POST[slug]', title = '$title', label = '$_POST[label]', header = '$header', body = '$body' WHERE id = $_GET[id]";
}else{
$action = "added";
// INSERT
$query = "INSERT INTO posts (type, user, slug, title, label, header, body) VALUES (1, $_POST[user], '$_POST[slug]', '$title','$label','$header','$body')";
}
$result = mysqli_query($dbc, $query);
//Error Handling
if ($result) {
$message = '<p class = "alert alert-success">Page was '.$action.'!</p>';
}else{
$message = '<p class = "alert alert-danger">Page could not be '.$action.' because: '.mysqli_error($dbc).'</p>';
$message .= '<p class = "alert alert-warning">Query: '.$query.'</p>';
}
}
if (isset($_GET['id'])) {$opened = data_post($dbc, $_GET['id']);}
break;
但是,我不知道如何在删除帖子时让$ message变量得到回应。我正在使用ajax,以便帖子立即从左侧列表中消失。
这是Javascript:
$(".page-delete").on("click", function(){
var selected = $(this).attr("id");
var page_id = selected.split("del_").join("");
var confirmed = confirm("Are you sure you wanted to DELETE this page?");
if (confirmed == true) {
$.get("ajax/pages.php?id="+page_id);
$("#page_"+page_id).remove();
};
......这是ajax:
include '../../config/connection.php';
$id = $_GET['id'];
$query = "DELETE FROM posts WHERE id = $id";
$result = mysqli_query($dbc, $query);
if ($result) {
echo "Page Deleted.";
} else {
"There was an error...<br>";
echo $query.'<br>';
echo mysqli_error($dbc);
}
这是我试图吐出消息的地方:
</div> <!-- END col-md-3 -->
<div class="col-md-9">
<!--FORM-->
<form role="form" action="index.php?page=pages&id=<?php echo $opened['id']; ?>" method="post">
<?php if(isset($message)) { echo $message; } ?>
<!-- INPUT FIELD for title -->
<div class="form-group">
<label for="title">Page Title</label>
<input type="text" class="form-control" value="<?php echo $opened['title'];?>" name="title" id="title" placeholder="Page's Title" />
</div>
感谢任何可以提供帮助的人,我为不知道基本的事情而道歉。
再次感谢阅读。和平!
答案 0 :(得分:0)
你需要回复ajax get。
$.get("ajax/pages.php?id="+page_id, function( data ) {
$( "#result" ).html( data ); // replaces the html in div#result
$("#page_"+page_id).remove();
})
并将您的邮件放在html标记中,例如div
,以便我们可以用jquery替换它
<div id="result"><?php if(isset($message)) { echo $message; } ?></div>
您的问题有点遍及,您可能想阅读一些关于最佳实践的书籍。