2017-03-28 1 views
2

ここではこのトピックに関するいくつかの質問を見ましたが、私の問題は解決していません。私は、SQLとチェックボックスを使用して簡単なフィルタを作成しようとしています。チェックボックスを使用したSQLクエリ

これまでのところ、私はこのコードを持って:

<form action="#" method="GET" id="filter"> 
    <input type="checkbox" name="omgeving[]" value="Indoor">Indoor<br /> 
    <input type="checkbox" name="omgeving[]" value="Outdoor">Outdoor<br /> 
    <input type="submit" name="kies" value="Kies" /> 
</form> 
<?php 
if(isset($_GET['omgeving']) && count($_GET['omgeving'] > 0)) { 
    $catid = implode(',', $_GET['omgeving']); 
    $catid = mysql_real_escape_string($catid); 

    $query = mysql_query("SELECT * FROM SomeWhere WHERE Omgeving IN (".$catid.")"); 

    while($row = mysql_fetch_assoc($query)) { 
     $id = $row['Id']; 
     $prod = $row['Product']; 

     echo $prod . "<br />"; 
    } 
} 
?> 

を私はsubmitをクリックしたとき、それはそれはにURLを何かを変更しない:filtertest/?omgeving[]=Indoor&kies=Kiesが、私は、クエリは次のように動作していないと思います私のフッタが消えるのは通常、これは私のコードが間違っていて、ページがさらに読み込まれなくなるためです。私の愛のために、私はなぜこれが働いていないのか理解できません...

私を助けることができる人がいますか?

これをチェックアウトしたのはanswerですが、これで問題は解決しません。上記のコードは、少なくとも何かを行うコードです。

ヘルプ...私はここで間違っていますか?あなたはOmgeving IN( "屋内" どこからか

SELECT *複数選択している場合

+3

[ママの搾取](https://www.explainxkcd.com/wiki/index.php/327:_Exploits_of_a_Mom) – Andreas

+0

同じページでクエリを更新したいのであれば、それは私か、アクションスクリプトは必要ありません... –

答えて

1

変更omgeving[]からomgeving。 URLは?omgeving=Indoor&kies=Kies

<?php 

if(isset($_GET['omgeving']) || !empty($_GET['omgeving'])){ 
    $catid = mysql_real_escape_string($_GET['omgeving']); 
    //continue with what you are doing. 
    // use var_dump(<variable>); exit(); to debug. 
} 

?> 

となりました。

0

変更ライン

$catid = implode('","', $_GET['omgeving']); 
$catid = '"'.$catid.'"'; 

$catid = implode(',', $_GET['omgeving']); 

は、最後にあなたのクエリは以下のようになります、 "屋外")

+0

いいえ、行ってください。それはうまくいかなかった...どうもありがとう。 –

+0

何が起こったのか、何かエラーがありましたか? –

+0

いいえ、間違いなし。私が始めたときのようにフッタが消えてしまうのは...悪いことです。 –

-1

$ catid = implode( "'、'"、$ _GET ['omgeving']);

関連する問題