【发布时间】:2015-04-07 11:09:07
【问题描述】:
我目前正在利用自己的时间学习 HTML、PHP 和 SQL 的基础知识,以尝试在工作中进一步提升自己。
我为自己设定了一个挑战,即制作一个基于图书公司的网站。我已经成功构建了显示连接到我的图书数据库的所有图书列表的页面。我还在书籍列表中创建了一个函数,用于在选定时动态显示特定书籍的额外信息。
到目前为止一切正常,但现在我一直被困在用户根据特定搜索条件搜索图书数据库的能力上。
例如,我希望能够从下拉列表中选择特定的搜索条件,例如书名、作者等,并让用户将其输入到链接的搜索框中并返回数据库中的值。到目前为止,请找到我的代码,并为任何明显的错误道歉,因为我刚刚开始学习这些东西......
搜索表格:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<!--OVERALL WRAPPER CONTAINER-->
<div id="wrapper">
<!--OUTER CONTAINER-->
<div id="container">
<!--HEADER CONTAINER-->
<div id="header"><!--LOGO PATH GOES HERE--><img src="../../../Web Design/websitebanner1.jpg" width="960" height="200" alt="Northumbria Book Company"></div>
<!--NAVIGATION CONTAINER-->
<div id="navContainer">
<center><ul>
<li><a href=".html">
<u>Home</u></a></li>
<li><u><a href=".html">Search</a></u></li>
<li><u><a href=".html">Credits</a></u></li>
<li><u><a href=".php">Books</a>
</u></li>
</ul>
</center>
</div>
<!--MAIN CONTENT CONTAINER-->
<div id="mainContainer">
<form id="SeachByCategory" action="SearchBookDB" method="get">
<h1>Search For a Book</h1>
<select name="category">
<option value="bookISBN">Book ISBN</option>
<option value="bookTitle">Book Title</option>
<option value="bookYear">Book Year</option>
<option value="pubID">Publisher</option>
<option value="catID">Category</option>
</select>
<label>Search: <input type="text" name="BookSearch" /></label>
<p>
<input type="submit" value="Find Books" />
</p>
</form>
</div>
<div id="footer">
<div align="center">
<ul>
<li><a href="#">Privacy Policy</a></li>
<li><a href="#">Disclaimer</a></li>
<li><a href="#">Terms</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</div></div></div></div>
</body>
数据库查询:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php
include 'database_conn.php';
$bookTitleSearch = filter_has_var(INPUT_GET, 'bookTitle') ? $_GET ['bookTitle']: null;
$sql = "SELECT * from nbc_book WHERE bookTitle = '%$bookTitleSearch%'";
$queryresult = mysqli_query($conn, $sql) or die(mysqli_error($conn));
while ($row = mysqli_fetch_assoc($queryresult)){
echo $row['bookTitle'];
}
mysql_free_result($queryresult);
mysql_close($conn);
?>
</body>
</html>
【问题讨论】:
-
你试过了吗?
$sql = "SELECT * from nbc_book WHERE bookTitle LIKE '%$bookTitleSearch%'"; -
刚刚尝试过,它返回一个 HTTP 404
-
$sql = "SELECT * from nbc_book WHERE bookTitle LIKE '%$bookTitleSearch%'";试试这个。 -
你的和我的查询有什么区别?由于OP出现错误。 @AkramFares
-
我的错,我没注意到。
标签: php html mysql forms search