2016-03-23 5 views
2

このコードは、自分のページにあるいくつかのフィルタ(ドロップダウンメニュー)用です。これらの機能を有効にして、ユーザーが一部のデータをフィルタリングしたいときは、選択した内容のみを表示します。しかし、私はそのロジックを自分のコードに実装しようとしましたが、うまくいきません - ページを数回リフレッシュしても設定したエラーメッセージが表示されます。 (ポスト)メソッドが含まれていません、あなたはPOSTアレイを使用しているGETメソッドへデータベースからデータを取得できないページフィルタ

<?php 
    if (isset($_POST['search'])){ 

    $bedrooms= htmlentities(strip_tags($_POST['bedrooms'])); 
    $radius= htmlentities(strip_tags($_POST['radius'])); 
    $type_prop= htmlentities(strip_tags($_POST['type_prop'])); 
    $prop_share= htmlentities(strip_tags($_POST['prop_share'])); 


    $bed_query = mysqli_query($connect, "SELECT * FROM properties WHERE prop_radius='$bedrooms'"); 
    $radius_query = mysqli_query($connect, "SELECT * FROM properties WHERE prop_radius='$radius'"); 
    $type_query = mysqli_query($connect, "SELECT * FROM properties WHERE prop_type='$type_prop'"); 
    $share_query = mysqli_query($connect, "SELECT * FROM properties WHERE prop_share='$prop_share'"); 
    var_dump($bed_query); 
    echo $radius_query; 
    echo $type_query; 
    echo $prop_share; 
    }else { 
    echo "This didnt work";  
    } 
    ?> 

    <form action="" enctype="multipart/form-data"> 
    <div class="form-group" style="width: 400px; margin-left: 375px; margin-top: 20px; "> 
     <label for="sel1">Radius (from Aston University):</label> 
     <select class="form-control" id="sel1" name="radius"> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
     <option>4</option> 
     </select> 
     <br> 
     <label for="sel2">No of bedrooms:</label> 
     <select class="form-control" id="sel2" name="bedrooms"> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
     <option>4</option> 
     </select> 
    </div> 
    <div class="form-group" style="width: 400px; margin-left: 850px; margin-top: -152px; "> 
     <label for="sel1">Type of Property:</label> 
     <select class="form-control" id="sel3" name="type_prop"> 
     <option>Halls</option> 
     <option>Flat</option> 
     <option>Terrace Home share</option> 
     <option>Semi Detactched Home share</option> 
     </select> 
     <br> 
     <label for="sel2">Property share:</label> 
     <select class="form-control" id="sel4" name="prop_share"> 
     <option>2</option> 
     <option>3</option> 
     <option>4</option> 
     <option>5</option> 
     <option>6</option> 
     </select> 
    </div> 
    <input type="submit" name="search" value="test"> 
    </form> 
+0

だから、スクープは何ですか?私は1時間以上前にこの回答を掲示しましたが、回答はありませんでした。 –

答えて

0

<form>デフォルト。

<form action="" enctype="multipart/form-data"> 

は...やっと同じです:

<form method="post" action="" enctype="multipart/form-data"> 

追記:

<form method="get" action="" enctype="multipart/form-data"> 

は、フォームに(ポスト)メソッドを追加し、ファイルを扱っていない場合フォームからenctype="multipart/form-data"を安全に削除できますが、postメソッドを追加してください。

ただし、後でファイルを処理することにした場合は、それを使用してください。ファイルを処理するには、明示的なPOSTメソッドが必要です。

偶然、値が渡されない場合は、実際の値を与えなければならない場合があります。例えば

<option>1</option> 

<option value="1">1</option> 

などのために同じ手順に従うこと。

<option>Halls</option>hallsは、データベース内の値である場合Hallshallsは同じとみなされないことに注意してください

<option value="Halls">Halls</option>へ。

さて、あなたはあなたのクエリをエコーし​​ようとしている:

echo $radius_query; 
echo $type_query; 
echo $prop_share; 

、それはあなたが表示されるように、データベースから情報を引き出す方法ではありません。

これらの結果をループする必要があります。

while($row = $query->fetch_array()) 
    { 
    echo $row['col1'] . " " . $row['col2']; 
    echo "<br />"; 
    } 

参考文献:

あなたは、例えば次のようなものを使いたい

あなたのデータベースに接続した場合、それはわからないです同じMySQL APIを使用してmysqli_。右の例
<?php error_reporting(E_ALL); ini_set('display_errors', 1);のためのあなたのオープニングPHPタグの後に、その後残りをあなたのファイルの先頭(複数可)にエラーレポートを追加

:あなたがいない場合は、マニュアルを参照してください何かが得られるかどうかを調べるために、 と同様にor die(mysqli_error($connect))からmysqli_query()のコードが含まれています。

+0

遅れて申し訳ありません...私はあなたの応答のおかげで今働いています。 – JackDaniels

+0

@JackDanielsご心配なく、よろしくお願いします。私は助けのジャック、*歓声だったのを見てうれしい。 –

関連する問題