html,然后单击create div将重定向到相同的页面,但会添加一个新行并递增数据库中的[text_edit_id]
。这是我的表:http://imgur.com/KoNg1ju
<div class="saveChange" onclick="saveEdits()"></div>
<div class="cancelChange" onclick="cancelEdits()"></div>
<div class="create"></div>
<div id="edit" class="title textEditor">
<span contenteditable="true" class="pageTitle one editable" id="bodyTitle"><?php echo $row['text_title']; ?></span>
<p id="bodyText" class="editable" contenteditable="true"><?php echo $row['text_text']; ?></p>
</div>
保存更改时
function saveEdits() {
var title = $('.pageTitle').html();
var text = $('#bodyText').html();
console.log(title + text);
$.ajax({
type: "POST",
url: "functions/functions.php",
data: { title: title, text: text }
}).done(function( msg ) {
console.log(msg);
});
};
functions.php
<?php
$host = "localhost";
$username = "root";
$password = "root";
$db = "textedit";
$connection = mysqli_connect($host,$username,$password,$db);
if (!$connection) {
die("Database connection failed: " . mysql_error());
}
$text_title = $_POST['title'];
$text_text = $_POST['text'];
$stmt = $connection->prepare("UPDATE data SET text_title = ?, text_text = ? WHERE text_edit_id = 1");
$stmt->bind_param('ss', $text_title, $text_text);
$stmt->execute();
?>
答案 0 :(得分:1)
如果你设法在mysql数据库中添加新记录,但问题是你想要字段&#34; text_edit_id&#34;自动增加...然后解决方案非常简单:
在phpmyadmin中定义&#34; text_edit_id&#34;如上所述:
Text_edit_id应该是&#34;主键&#34;该表。
您可以在&#34;结构&#34;中修改所有这些参数。你桌子的一部分。这很容易。
这样,当您将新记录保存到数据库中时,&#34; text_edit_id&#34;值将自动生成,并且等于&#34;最后一个值+ 1&#34;。
text_edit_id text_title text_text
1 First news News content
2 Second news Other content
重要 请注意,如果您想在表格中添加新行(如上所示),则查询错误。
$stmt = $connection->prepare("UPDATE data SET text_title = ?, text_text = ? WHERE text_edit_id = 1");
这意味着:&#34;更新表记录&#34; text_id_field&#34;将&#34; text_title&#34;的新值等于1和&#34; text_text&#34;。 当然text_edit_id没有改变!!
您正在寻找的是INSERT STATMENT。这样,每次使用自动增量索引创建NEW行(=新记录)时。
$stmt = $connection->prepare("INSERT INTO data (text_title, text_text) VALUES (?,?) ");
将此行替换为脚本中的一行。