-1

製品の mysql テーブルに 6 つ以上のサービスが追加されています (列)。

あなたが考えることができるそれらの列service1, service2, service3, service4, service5, service6

今、ページにデータ テーブルを表示しています。そのテーブルに応じてサービスをフィルタリングするために、各サービスのチェックボックスを含むフォームを使用しています。

各チェックボックスにはvalue = "Yes"

サービスを選択して送信ボタンを押すと、次のようなクエリパラメーターを渡してページが更新されます

page.php?service1=Yes&service2=Yes&service3=&service4=&service5=Yes&service6=

ここでこれらのサービスは空白です。つまり、フォームから選択しなかったため、ここでは空白になります。それらを選択すると、はいの値が表示されます。

サービスの値が「はい」のテーブル行を選択したいと考えています。値ではない値を無視します。

実行する方法?

4

2 に答える 2

0

一部のフィールドを空白にチェックし、一部のフィールドを「はい」にチェックすることを確認することを意味しますか?

もしそうなら、このようなもの: -

<?php

$RequiredVars = array('service1'=>'Yes','service2'=>'Yes','service3'=>'Yes','service4'=>'Yes','service5'=>'Yes','service6'=>'Yes');

$Clause = array();
foreach($_REQUEST AS $Field=>$Value)
{
    if (array_key_exists($Field, $RequiredVars))
    {
        $Clause[] = " $Field = '".mysql_real_escape_string($Value)."' ";
    }
}

$sql = "SELECT * FROM SomeTable ";

if (count($Clause) > 0)
{
    $sql .= "WHERE ".implode(' AND ', $Clause);
}

?>
于 2013-05-30T08:44:30.373 に答える