簡體   English   中英

php在多個輸入搜索表單上返回空白頁

[英]php returning blank pages on multiple input search form

我是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();
}
?>

如果您得到空白頁,那是因為您的外部if語句未評估為true。 包含else子句並回顯其他內容。

您的表單名稱可能會拼寫錯誤,您應該讓頁面僅回顯那些POST變量,以再次檢查是否正在向它們獲取數據。

另外,您缺少與數據庫的連接,我建議使用PDO作為數據庫連接,您將獲得更好的錯誤報告。

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

高溫超導

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM