编辑php中的行

时间:2014-01-06 10:48:49

标签: php mysql row edit forum

我正在努力建立一个论坛。我有一个table.php,其中包含一个标题行,一行编辑链接和一行删除链接。当我点击编辑链接时,我被带到edit.php,在那里我有另一个表格来插入新主题标题。当我点击“保存新主题”按钮时,该行应该更新,但这是我的问题,标题保持不变。我一直在寻找这个网站(和一般的网络)找到解决方案,但似乎没有一个适合我。

在forum.php中我有这段代码:

<?php           

        while ($row = mysqli_fetch_assoc($result))
        {                               
            $subject = $row['subject'];                     
            $id = $row['id'];           

    ?>

            <tr>
                <th><a href="viewtopic.php?id=<?php echo $row ['id']?> "> <?php echo $row ['subject']?> </a></th>                           
                <th><a href="edit.php?id=<?php echo $row['id']?> ">Edit</a></th>                    
                <th><a href="delete.php?id=<?php echo $row['id']?> ">Delete</a></th>    
            </tr>
    <?php 
        } 
    ?>

在edit.php中我有这段代码:

<div id="form">
        <form id='edit' action='edit.php' method='post' >
            <fieldset>
                <legend>Edit Topic</legend>
                    <br />
                    <label for='name' >New Subject</label><br/>
                    <input type="text" id="subject" name="newsubject" /><br />

                    <br/>

                    <input type='hidden' name='id'  value='<?php  echo $id ?>'/>
                    <input type="submit" name="save" value="Save New Topic" />              
            </fieldset>
        </form>
    </div>

    <?php
        if (isset($_POST['save']))
            {
                $subject_save = $_POST['newsubject'];


                require_once("db_connection.php");
                $conn = connectToMySQL();

                $id =$_POST['id'];

                $query = "UPDATE tbl_topic SET subject = '$subject_save' WHERE id = 'id'";

                $result = mysqli_query($conn, $query)
                or die("Error in query: ".mysqli_error($conn));

                header("Location: forum.php");
                die();
            }
        ?>      

3 个答案:

答案 0 :(得分:0)

将查询写为

$query = "UPDATE tbl_topic SET subject = '$subject_save' WHERE id = $id";

答案 1 :(得分:0)

如果这不是输入错误

更改$query = "UPDATE tbl_topic SET subject = '$subject_save' WHERE id = 'id'";

$query = "UPDATE tbl_topic SET subject = '$subject_save' WHERE id = $id";

答案 2 :(得分:0)

<div id="form">
        <form id='edit' action='edit.php' method='post' >
            <fieldset>
                <legend>Edit Topic</legend>
                    <br />
                    <label for='name' >New Subject</label><br/>
                    <input type="text" id="subject" name="newsubject" value=<?php isse($_POST['newsubject']) ? "{$_POST['newsubject']}" : ""?> /><br />

<br/>

<input type='hidden' name='id'  value='<?php  echo $id ?>'/>
<input type="submit" name="save" value="Save New Topic" />
</fieldset>
</form>
</div>

<?php
if (isset($_POST['save']))
{
    $subject_save = $_POST['newsubject'];


    require_once("db_connection.php");
    $conn = connectToMySQL();

    $id =$_POST['id'];

    $query = "UPDATE tbl_topic SET subject = '$subject_save' WHERE id = $id";

    $result = mysqli_query($conn, $query)
    or die("Error in query: ".mysqli_error($conn));

    header("Location: forum.php");
    die();
}