我正在使用PHP创建一个非常简单的webapp,它将表单中的信息存储在数据库中,然后允许编辑该信息。
我将数据库中的表单和存储信息运行得很好。我用来从我的表单中存储信息的代码(在缩短此Q之后)如下:
<?php
require_once 'connect.php';
$firstName = $_POST['firstName']; //other variables ommited for brevity
$sth = $dbh->prepare("INSERT INTO users(firstName, lastName, country, roomtype, roomnumber, checkin, nights)
VALUES ('$firstName', '$lastName', '$country', '$roomtype', '$roomnumber', '$checkin', '$nights')");
$sth->execute();
$dbh =null;
?>
我有一个编辑页面,在那里我将数据库中的值读入表单字段。
如果进行了更改,我不想在数据库中添加新记录,而是更新现有记录。
我是否应该使用相同的PHP页面(称为process.php)来插入数据库以更新数据库中的信息,或者检查它是如何被调用的,或者我应该创建一个新的单独页面更新操作。
什么是更好的方法?
答案 0 :(得分:1)
对于更新,您将拥有一个唯一的id
,如果您可以在同一页面中执行相应的操作
if(empty($_POST['id'])) {
//insert operation
}elseif(!empty($_POST['id'])){
//update operation
}
答案 1 :(得分:0)
我建议在数据库中使用添加/编辑/删除数据的相同页面,并使用以下开关案例:
//get the action to be performed like add or edit
$action = strtolower( trim( $_POST['action'] ) );
switch($action) {
case "add":
//call function to insert to db
yourFunctionToInsert();
break;
case "edit":
//call function to edit
yourFunctionToEdit();
break;
default:
//some default code in case no valid action is encountered
}
function yourFunctionToInsert() {
//code to insert to DB
}
function yourFunctionToEdit() {
//code to update the DB
}
希望有所帮助