2012-04-23 27 views
0

我是全新的php/mysql和全新的网站,所以感谢您提供任何帮助。我需要创建一个PHP脚本,它将返回具有四个输入字段的搜索表单的结果。它必须是这样的,任何字段的组合都可以被搜索,或者根本不会被返回,这将返回数据库中的所有项目。截至目前,当我单击表单页上的提交时,所有返回的内容都是空白页。php在多个输入搜索表单上返回空白页面

这是我到目前为止。我试图将它作为一个试图捕获所有需求的查询,然后作为一系列“if”语句,我在该站点上阅读,但我得到的只是一个空白页面。

<?php 
if (isset(
    $_POST['product_description'],$_POST['product_finish'], 
    $_POST ['product_minimum_price'], $_POST['product_maximum_price'])) { 

    $product_description = ($_POST['product_description']); 
    $product_finish = ($_POST['product_finish']); 
    $product_minimum_price = ($_POST['product_minimum_price']); 
    $product_maximum_price = ($_POST['product_maximum_price']); 

    $query = "SELECT ProductDescription, ProductFinish, ProductStandardPrice FROM product_t"; 
    if (isset($_POST['product_description'])) { 
     $query = "SELECT ProductDescription, ProductFinish, ProductStandardPrice 
      FROM product_t 
      WHERE ProductDescription LIKE '%.$product_description.%'"; 
    } 

    if (isset($_POST['product_finish'])) { 
     $query = "SELECT ProductDescription, ProductFinish, ProductStandardPrice 
      FROM product_t 
      WHERE ProductDescription LIKE '%.$product_finish.%'"; 
    } 

    if (isset($_POST['product_minimum_price'])) { 
     $query = "SELECT ProductDescription, ProductFinish, ProductStandardPrice 
      FROM product_t 
      WHERE ProductStandardPrice >= 'product_minimum_price'"; 
    } 

    if (isset($_POST['product_maximum_price'])) { 
     $query = "SELECT ProductDescription, ProductFinish, ProductStandardPrice 
      FROM product_t 
      WHERE ProductStandardPrice <= 'product_maximum_price'"; 
    } 

    $result = mysql_query($query); 
    if($result === FALSE) die(mysql_error()); 

    echo '<table align="left" cellspacing="1" cellpadding ="5" border="1"><tr><td 
    align="left">Product Description</td><td align="left">Product Finish</td><td align="left"> 
    Product Standard Price</td></tr>'; 

    while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) { 
     echo '<tr><td align="left">' .$row['ProductDescription']. 
     '</td><td align="left">'.$row['ProductFinish']. 
     '</td><td align="left">'.$row['ProductStandardPrice'].'</td></tr>'; 
    } 

    echo '</table>'; 
    mysql_close(); 
} 
?> 
+0

您需要打开完整的错误报告,同时发展。 – 2012-04-23 00:19:52

回答

0

如果您得到一个空白页,这是因为您的外if声明不计算为真。包含else子句并回显其他内容。

0

很可能你有一个表单名拼写错误,你应该让页面只回显这些POST变量来仔细检查你是否收到了数据。另外,你错过了与数据库的连接,我建议使用PDO作为你的数据库连接,你会得到更好的错误报告。

mysql_connect("localhost", "mysql_user", "mysql_password") or 
die("Could not connect: " . mysql_error()); 
mysql_select_db("mydb"); 

HTH