现在一切正常。我现在可以从我的数据库中查看和更新我的数据。谢谢你帮助我。我已经更新了以下代码。谢谢:))
edit_news.php //这是我的数据库中显示的内容能够更新的地方
<?php
mysql_connect("localhost", "root");
mysql_select_db("alumni");
if(isset($_GET['edit_id']))
{
$sql = "SELECT * FROM news WHERE id=".$_GET['edit_id'];
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
?>
<form action="/admin/update_news.php" method="post">
<div>
<input type="hidden" name="id" value="<?php echo $row['id'] ?>"/>
<input type="text" name="title" value="<?php echo $row['title']; ?> "/>
<input type="text" name="body" value="<?php echo $row['body']; ?>"/>
<input type="submit" name="update" value="Save Changes"/>
<input type="submit" name="cancel" value="Cancel"/>
</div>
</form>
<?php
}
?>
update_news.php //这是更新功能发生的地方
<?php
date_default_timezone_set('Asia/Manila');
include_once('db.php');
if(isset($_POST['update']))
{
$title = mysql_real_escape_string(htmlspecialchars($_POST['title']));
$body = mysql_real_escape_string(htmlspecialchars($_POST['body']));
$sql = ("UPDATE news SET title='$title', body='$body' WHERE id=".$_POST['id']) or die(mysql_error());
if(mysql_query($sql))
{
echo "<script type='text/javascript'>alert('Changes saved!!');
window.location.assign('admin_profile.php');</script>";
}
else
{
echo "<script type='text/javascript'>alert('Error while updating data.');
window.location.assign('admin_profile.php');</script>";
}
}
if (isset($_POST['cancel']))
{
header("Location: admin_profile.php");
}
?>
//这是用户点击修改链接的位置,该链接会引导他们进行edit_news.php
<a href="/admin/edit_news.php?edit_id=<?php echo $row[0]; ?>">EDIT</a>
答案 0 :(得分:2)
您将通过
获取edit_news.php中的ID $id = $_GET['id']
然后使用来自数据库的id获取数据,使用select query查询变量$ title和$ body
$sql = "SELECT * FROM news WHERE id = $id";
然后使用您通过使用任何mysql_fetch函数发出上述查询获得的值来填充表单元素
答案 1 :(得分:1)
现在你已经从表单中删除了隐藏的输入类型,并在update_news.php中使用了$ _GET ['id'],这又出现了问题。再次在那里添加字段并使用$ _POST ['id']代替$ _GET [' update_news.php中的id']
其余的看起来很好。