私がここでやろうとしているのは元のコメントを更新できることです。しかし私のコードは今のように見えますが、新しい行IDを持つ新しいコンテンツを追加し続けるだけです。同じ行IDの元のコンテンツフォームを削除し、それを新しいコンテンツで更新するにはどうすればよいですか?一見mysqlデータベースに最後に挿入されたデータを編集するには?
<?php
require 'classes/Database.php';
$database = new Database;
$post = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
if(isset($post['submit'])){
$title = $post['title'];
$body = $post['body'];
$database->query('INSERT INTO posts (title, body) VALUES(:title, :body)');
$database->bind(':title', $title);
$database->bind(':body', $body);
$database->execute();
if($database->lastInsertId()){
echo '<p>Post Added!</p>';
}
}
if(isset($post['submit'])){
$id = $database->lastInsertId();
$title = $post['title'];
$body = $post['body'];
$database->query('UPDATE posts SET title = :title, body = :body WHERE id = :id');
$database->bind(':title', $title);
$database->bind(':body', $body);
$database->bind(':id', $id);
$database->execute();
header('location:index.php');
}
if(isset($post['delete'])){
$delete_id = $_POST['delete_id'];
$database->query('DELETE FROM posts WHERE id = :id');
$database->bind(':id', $delete_id);
$database->execute();
}
$database->query('SELECT * FROM posts');
$rows = $database->resultset();
?>
<h1>Add Post</h1>
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<label>Post ID</label><br />
<input type="text" name="id" placeholder="Specify ID" /><br /><br />
<label>Post Title</label><br />
<input type="text" name="title" placeholder="Add a Title..." /><br /><br
/>
<label>Post Body</label><br />
<textarea name="body"></textarea><br /><br />
<input type="submit" name="submit" value="Submit" />
<h1>Posts</h1>
<div>
<?php foreach($rows as $row) : ?>
<div>
<h3><?php echo $row['title']; ?></h3>
<p><?php echo $row['body']; ?></p>
<br />
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="delete_id" value="<?php echo $row['id'];
?>">
<input type="submit" name="delete" value="Delete" />
</form>
</div>
<?php endforeach; ?>
</div>
わかりません。何を試しましたか?あなたのためにプロジェクトを完成させるように私たちに求めていないことを祈っています。 –