0

我是全新的 php/mysql 和全新的网站,所以提前感谢任何帮助。我需要创建一个 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();
}
?>
4

2 回答 2

0

如果你得到一个空白页,那是因为你的外部if陈述没有评估为真。包括一个else子句并回显其他内容。

于 2012-04-23T00:23:49.593 回答
0

很可能您的表单名称拼写错误,您应该让页面只回显那些 POST 变量,以仔细检查您是否正在向它们获取数据。

此外,您缺少与数据库的连接,我建议使用 PDO 作为您的数据库连接,您将获得更好的错误报告。

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

高温高压

于 2012-04-23T00:30:54.363 回答