我已经建立了一个cms,它在div区域中使用bootstrap modals,这样当用户点击他们想要插入内容的div时,一个modal就会出现一个tinymce文本编辑器区域,在那里他们可以放置图像或文本。一旦他们有,他们点击保存按钮在模态关闭模态和显示预览他们刚刚做了什么。
另外,当他们点击save按钮时,我执行一个ajax请求,调用addpanel.php脚本,以便插入该面板、面板类型和内容的记录。
这是完美的工作除了一个事实,即如果他们再次点击模态和做这一切都编辑他们的内容,它只是保存另一个面板。
我需要稍微修改一下我现在所做的:
获取上次ajax请求中创建的面板的id,现在对内容的记录执行mysql更新(因为面板id和面板类型将保持不变)
保留当前进程,但将mysql中最后一个面板的'active'列设置为'0'(不太喜欢这种方法,但会接受它)。
基本上,我所拥有的工作,但如果用户在第一次后点击模态,我将更新,而不是插入。
下面是在addpanel.php中执行的mysql:
$content = $_POST['page_content'];
$addContent = "
INSERT INTO content(content)
VALUES('$content');
";
if ($mysqlConn->query($addContent) === TRUE) {
$cont_id = $mysqlConn->insert_id;
$data['last_insert_id'] = $cont_id;
echo json_encode($data);
} else {
echo "Error: " . $addContent . "<br>" . $mysqlConn->error;
}
$panelID = $_POST['panel_type'];
$pageID = $_POST['page_id'];
$addPanel = "
INSERT INTO panels(panel_type_id, page_id, cont_id)
VALUES ('$panelID', '$pageID', '$cont_id');
";
if ($mysqlConn->query($addPanel) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $addPanel . "<br>" . $mysqlConn->error;
}
脚本/ajax显示了我目前为一个面板所做的一个示例:
<script type="text/javascript">
$("#leftHalfForm").submit(function(e){
var leftContentVar = tinymce.get("leftHalfTextArea").getContent();
$(".leftContent").html(leftContentVar);
$("#leftHalfPageContent").val(leftContentVar);
// jQuery.noConflict();
var string = $('#leftHalfForm').serialize() + '&page_id=' + page_id;
console.log(string);
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "addPanel.php",
data: string,
cache: false,
success: function(response){
console.log(JSON.stringify(response));
console.log(string);
$('#leftFiftyModal').modal('hide');
$('.modal-backdrop').remove();
}
});
return false;
});
暂无答案!
目前还没有任何答案,快来回答吧!