11

mySQL データベース テーブルにすべてをロードする html テーブルがあります。そのmySQLテーブルの列に関連するドロップダウンがあります-ユーザーがドロップダウンの1つを選択すると、AJAXを使用してデータベースにクエリを実行します。

ドロップダウンが空になることがあるため(つまり、その列でフィルタリングしたくない場合)、クエリを動的に作成する方法を理解する必要があります。

これを行う最善の方法は何ですか?

現在、私は次のようなものを持っています:

    $stationFilter = $_GET['station'];
    $verticalFilter = $_GET['vertical'];
    $creativeFilter = $_GET['creative'];
    $weekFilter = $_GET['week'];    
    
    $result = mysql_query("SELECT * FROM tableName WHERE STATION_NETWORK = '$stationFilter' AND VERTICAL = '$verticalFilter' AND CREATIVE = '$creativeFilter'  AND WK = '$weekFilter'");   
    $data = array();
    while ($row = mysql_fetch_row($result) )
        {
        $data[] = $row;
        }   
    $finalarray['rowdata'] = $data;

これらのフィールドのいずれかが空の場合、クエリは失敗する (または何も返さない) ため、これは機能しません。

そのような「静的」クエリを作成すると、特定の変数が空の場合、明らかに困難になります。

そのクエリを動的に作成して、空でないものだけを入力してクエリに追加し、適切なデータを正常に完了して表示できるようにする最善の方法は何ですか?

4

2 に答える 2