まず第一に、私はこれに対する解決策を見つけるために狂ったように探し求めてきましたが、今のところ運がありません。私の問題は次のとおりです。
数十行のMySQLデータベースがあり、データを表示するためにjQueryグリッドを作成しました。このページはすでに機能しています。要件に従って、チェックボックスからいくつかのオプションを選択して結果をフィルタリングできるページをまとめています。これがどのように機能するかです:
ページ1には3つのチェックボックスグループ(名前、場所、言語)があり、各セットには異なるオプション([名前:David、Nickなど]、[場所:ニューヨーク、ワシントン、ムンバイ、ロンドン、マイアミ]、[言語:英語、スペイン語]。ユーザーがオプションを選択すると、次のようなフォームが送信されます
grid.php?location = Washington&location = Mumbai&language = English&name = David
文字列の作成は簡単ですが、このパラメーターを受け取り、配列に配置してSQLステートメントを作成するレシーバーは、私が苦労しているところです。
私はこのようなもので試しました:
$location= $_GET['location'];
$language= $_GET['language'];
$name= $_GET['name'];
if($location!=""){
$where[] = 'location=';
$where_args[] = $location;
}
//same code for the other 2 options
$where_clause = implode(' OR ', $where_args);
$sql_json = "SELECT * FROM myTable WHERE $where_clause ORDER BY id DESC";
どのオプションも必須ではないため、クエリは値が設定されている場合とされていない場合がある可能性を受け入れる必要があるため、最終的にはgrid.php?language=Englishのようになります。
上記のコードがうまく機能しないことは知っていますが、誰かが私を正しい方向に向けてくれれば幸いです。