数据库中的数据不会显示在我的编辑页面中

时间:2016-02-10 06:19:37

标签: php mysql sql web sql-update

现在一切正常。我现在可以从我的数据库中查看和更新​​我的数据。谢谢你帮助我。我已经更新了以下代码。谢谢:))

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>

2 个答案:

答案 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']

其余的看起来很好。