2012-04-23 15 views
0

私はphp/mysqlの新機能で、サイトに新しくなっています。私は4つの入力フィールドを持つ検索フォームから結果を返すPHPスクリプトを作成する必要があります。フィールドの任意の組み合わせを検索することができるようにするか、データベースからすべての項目を返すフィールドがないようにする必要があります。現在のところ、フォームページでsubmitをクリックすると返されるのは空白のページです。複数の入力検索フォームに空白のページが返ってくるPHP

これはこれまで私が行ってきたことです。私はすべての要件をキャプチャしようとした1つのクエリとして最初に試してみました。そして、このサイトで行うために読んだ一連の「if」ステートメントとしてそれを試しましたが、空白のページしかありません。あなたは空白のページを取得している場合は、あなたの外側if文がtrueに評価されていないため、

<?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

。 –

答えて

0

それです。 else句を含め、他に何かをエコーし​​ます。

0

フォーム名のスペルが間違っている可能性があります。ページには、POST変数をエコーし​​てデータを取得しているかどうかを再確認してください。

また、データベースへの接続が不足しているため、データベース接続としてPDOを使用することをお勧めします。

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

あなたが開発しながら、完全なエラー報告をオンにする必要がありHTH

関連する問題