调用时旧值未出现在文本字段中

时间:2019-02-19 12:52:09

标签: php mysql

我正在尝试调用要编辑的旧值。我错了什么地方?

<?php 
    if (isset($_GET['edit'])) {
        $id = $_GET['edit'];
        $update = true;
        $record = mysqli_query($db, "SELECT * FROM bookinfo WHERE BookNo='$BookNo'");
        if (mysqli_num_rows($record) == 1 ) {
            $n = mysqli_fetch_array($record);
            $BookNo = $n['BookNo'];
            $ISBN = $n['ISBN'];
            $title = $n['title'];
            $author = $n['author'];
            $publisher = $n['publisher'];
            $status = $n['status'];
            $cost = $n['cost'];
        }
    }
?>
                <a href="viewBook.php?edit=<?php echo $row['BookNo']; ?>" class="edit_btn" >Edit</a>
            </td>



<?php
if (isset($_GET['edit'])) { ?>
<form method="post" action = "viewBook.php">
<input type="hidden" name="BookNo" value="<?php echo $BookNo; ?>">
<input type="text" name="ISBN" value="<?php echo $ISBN; ?>">
<input type="text" name="title" value="<?php echo $title; ?>">
<input type="text" name="author" value="<?php echo $author; ?>">
<input type="text" name="publisher" value="<?php echo $publisher; ?>">
<input type="text" name="status" value="<?php echo $status; ?>">
<input type="text" name="cost" value="<?php echo $cost; ?>">
<?php if ($update == true): ?>
    <button class="btn" type="submit" name="update" style="background: #556B2F;" >update</button>
<?php else: ?>
    <button class="btn" type="submit" name="save" >Save</button>
<?php endif ?>
<?php } ?>
</form>

到目前为止,它的作用是,当用户单击编辑按钮时,它仅显示6个文本字段。我以为通过执行该操作,可以显示出文本框中已经填充的详细信息。

3 个答案:

答案 0 :(得分:1)

完成时

$record = mysqli_query($db, "SELECT * FROM bookinfo WHERE BookNo='$BookNo'");

未定义$ BookNo。

也许您想做这样的事情:

$id = $_GET['edit'];
$update = true;
$record = mysqli_query($db, "SELECT * FROM bookinfo WHERE BookNo='$id'");

答案 1 :(得分:0)

<form method="post" action = "viewBook.php"> 

您的表单方法是“ post”,但是您要检查$ _GET您必须检查$ _POST

if (isset($_GET['edit'])) 

答案 2 :(得分:0)

您正在$id中传递值,并使用$BookNo(未定义)。

仅显示6个输入字段,因为第一个使用的是隐藏属性。

<input type="hidden" name="BookNo" value="<?php echo $BookNo; ?>">

当您单击“提交”按钮时,数据将通过$ _POST接收