我正在使用 Aloha Editor 并喜欢它。
我坚持将页面上不同div的数据保存到数据库中。
我在以下位置找到了一个名为 contentEditable 的教程:http: //gazpo.com/2011/09/contenteditable/
它将 1 个 div 保存到数据库,但是我的网页上有多个 div,我无法计算出逻辑。
如果您能提供帮助,我将不胜感激?
我的 index.php 上有以下 php/Javascript/Ajax:
<?php
//get data from database.
include("db.php");
?>
<script>
$(document).ready(function() {
$("#save").click(function (e) {
var content = $('[class^="editable"]').html();
$.ajax({
url: 'save.php',
type: 'POST',
data: {
content: content
},
success:function (data) {
if (data == '1')
{
$("#status")
.addClass("success")
.html("Data saved successfully")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
else
{
$("#status")
.addClass("error")
.html("An error occured, the data could not be saved")
.fadeIn('fast')
.delay(3000)
.fadeOut('slow');
}
}
});
});
$('[class^="editable"]').click(function (e) {
$("#save").show();
e.stopPropagation();
});
$(document).click(function() {
$("#save").hide();
});
});
</script>
在我的 index.php 中,每个 div 都有一个唯一的类,例如 .editable1,在 div 中我有以下 PHP 来回显数据库中的数据:
<div class="editable1">
<?php
$sql = mysql_query("select text from content where element_id='1'");
$row = mysql_fetch_array($sql);
echo $row['text'];
?>
</div>
<div class="editable2">
<?php
$sql = mysql_query("select text from content where element_id='2'");
$row = mysql_fetch_array($sql);
echo $row['text'];
?>
</div>
我的 save.php 我有:
<?php
include("db.php");
$content = $_POST['content']; //get posted data
$content = mysql_real_escape_string($content); //escape string
$sql = "UPDATE content SET text = '$content' WHERE element_id = '1' ";
$sql = "UPDATE content SET text = '$content' WHERE element_id = '2' ";
if (mysql_query($sql))
{
echo 1;
}
?>
我的 db.php:
<?php
//database connection
mysql_connect("localhost", "root", "root") or die(mysql_error());
mysql_select_db("create") or die(mysql_error());
?>
问题是,当我在 div.editable1 中使用 Aloha 编辑器更新文本时,它显示“已成功保存”,但是当我刷新页面时,div 为空,数据库行也为空。
任何帮助将不胜感激:)
谢谢,米歇尔