我正在创建一个虚拟在线商店来说明一些现实世界的功能,其中之一是在网站上搜索项目,即
我已经编写了 PHP 代码来处理这种情况,但它不能正常工作。它所做的事情是它与结果和结果数量相匹配,但它不显示它们,我当然不会这样做。
一直试图在 GOOGLE 上寻找答案,但没有找到相应的解决方案或针对我的问题的提示。
这里将列出我正在使用的代码:
PHP代码(search.php):
<?php
session_start();
include('connect_mysql.php');
$product_name = 'product_name';
$product_qua = 'product_qua';
$product_price = 'product_price';
$product_image = 'product_image';
$product_des = 'product_des';
if (isset($_POST['keyword']))
{
$search = $_POST['keyword'];
if (!empty($search))
{
$query = "SELECT product_name FROM products WHERE product_name='$search'";
$query_search = mysql_query($query);
echo mysql_num_rows($query_search);
if (mysql_num_rows($query_search) >=1)
{
echo 'Results found: <br>';
while ($query_row = mysql_fetch_row($query_search))
{
echo $query_row['product_name'];
}
while($rows = mysql_fetch_array($query_search))
{ ?>
<table id='display'>
<tr><td><?php echo "<img src=$rows[$product_image] class='grow'>" ?></td></tr>
<tr>
<th></th>
<th><strong>Avalible</strong></th>
<th><strong>Price</strong></th>
<th><strong>Description</strong></th>
</tr>
<tr>
<td width='290px'><?php echo "$rows[$product_name]" ?></td>
<td width='290px'><?php echo "$rows[$product_qua]" ?></td>
<td width='290px'><?php echo "£ $rows[$product_price]" ?></td>
<td width='290px'><?php echo "$rows[$product_des]" ?></td>
</tr>
<tr>
<td><p>Please Login To purchase this item </p><br /><a href="login.php">Login</a></td>
</tr>
</table>
<?php
}
} else {
echo 'NO results found.';
}
}
}
?>
HTML 代码 (index.php):
<form action="search.php" method="post">
<input type="text" name="keyword" size="20" placeholder="Search for products...."/>
<input type="submit" value="Search >>" />
</form>
当前结果的打印屏幕:
正如您已经注意到的那样,它还说找到了 3 个结果,这是正确的,因为我一直在搜索这是我的产品的通用名称,但只出现了两个表而且它们是空的。
网址:http ://studentnet.kingston.ac.uk/~k1024026/index.php
最后我的产品表包括: product_id product_name product_qua product_price product_image product_des product_type attrebiutes/columns
任何人都可以发现我可能在哪里出错......?