我正在创建一个 CMS,当您在其中添加新页面时,display_order 将根据已经存在的行数自动获取下一个最高数字。这是我目前拥有的:
<?php
if(isset($_POST['updateContent'])){
require ("connection.php");
$sql = "SELECT * FROM pages";
$result = $conn->query($sql) or die(mysqli_error());
$content = $_POST['content'];
$title = $_POST['title'];
$id = $_POST['id'];
$order = mysqli_num_rows($result);
if (empty($id)){
/** ADD NEW SLIDE*/
$sql = "INSERT INTO pages (title, content, display_order, visible) VALUES ('".$title."', '".$content.", '".$order.", 0)";
}else{
/** UPDATE SLIDE*/
$sql = "UPDATE pages SET content = '".$content."', title = '".$title."' WHERE id = '".$id."'";
}
if ($result){
header("Location: admin.php");
}
}
?>
这段代码所做的是采用我在名为 edit.php 的页面中使用的 HTML 表单,并确定它是新页面还是只是正在更新的页面。我得到的错误是没有任何东西发布到数据库中。如果我删除$sql
,$result
和$order
行.. 脚本工作正常,但 display_order 变量不会设置为下一个最高数字。