I have two tables in my library database, Books and BookTypes:
CREATE TABLE `books` (
`BookID` int(11) NOT NULL,
`ISBN` varchar(20) NOT NULL,
`Title` varchar(50) NOT NULL,
`Author` varchar(50) NOT NULL,
`BookType` char(1) DEFAULT NULL,
`Price` decimal(5,2) DEFAULT NULL
)
CREATE TABLE `booktypes` (
`BooktypeID` varchar(3) NOT NULL,
`BookType` varchar(50) NOT NULL
)
When I load the Edit screen from my search results page, I have got the three types displaying.
But can't get the currently selected value of the book to display(It's always Digital).
My Edit Page Code is:
<head>
<title>Books</title>
</head>
<body>
<h1>Edit Book Information</h1>
<?php
if (empty($_GET['BookID']))
die("You need to select a Book from the form");
$BookID = $_GET['BookID'];
//open the server connection
require 'dbConnectLibrary.php';
//get the record
$sql = "SELECT * FROM books WHERE BookID = $BookID";
$result = mysqli_query($conn, $sql) or die("Error editing - ". mysqli_error($conn));
if (mysqli_affected_rows($conn) == 0)
die("Error – record not found to edit");
while ($row = mysqli_fetch_array($result))
{
$BookID = $row[0];
$ISBN = $row[1];
$Title = $row[2];
$Author = $row[3];
$BookType = $row[4];
$Price = $row[5];
}
echo "<form action=update-book.php method=GET>";
echo "<input type=hidden name=BookID value=$BookID>";
echo "<table border=1>";
echo "<tr><td>ISBN:</td><td><input type=text id=ISBN name=ISBN value=\"$ISBN\"></td></tr>";
echo "<tr><td>Title:</td><td><input type=text id=Title name=Title value=\"$Title\"></td></tr>";
echo "<tr><td>Author:</td><td><input type=text id=Author name=Author value=\"$Author\"></td></tr>";
echo "<tr><td>Book type:</td><td><select value=\"$BookType\">";
//Select
$sql = "SELECT BookType FROM BookTypes";
$result = mysqli_query($conn, $sql) or die("Error reading booktypes - ".mysqli_error($conn));
while ($row = mysqli_fetch_array($result))
{
if($BookType == $row[BookType])
echo "<option value\"$row[BookType]\" selected>$row[BookType]</option>";
else
echo "<option value\"$row[BookType]\" >$row[BookType]</option>";
}
echo "<tr><td>Price:</td><td><input type=text id=Price name=Price value=\"$Price\"></td></tr>";
$sql = "SELECT Title, BookID, Price FROM books ORDER BY Title";
//echo "$sql";
$result = mysqli_query($conn, $sql) or die("Error reading books - ".mysqli_error($conn));
echo "</table>";
echo "<br><input type=submit value=update>";
?>
<a href="david.php">Cancel</a>
</body>
</html>
How do I ensure the current value of the selected book's booktype is selected on the poplist when I load the edit page?