首页 > 解决方案 > 调用时未出现在文本字段中的旧值

问题描述

我正在尝试调用要编辑的旧值。我错在哪一部分?

<?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 个文本字段。我想通过做我所做的,它应该显示已经填写在文本框中的细节。

标签: phpmysql

解决方案


当你这样做

$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'");

推荐阅读