多くのフィールドを持つデータベースがあります。ユーザーが複数のフィールドでフィルタリングできるようにしたい。Javascript の実装 (jQuery なし) と、おそらく jQuery も探しています。私が目指しているのは、html、php、js のみでテーブル ヘッダーにフィルターを適用し、データベースとして mySQL を使用する場合に Excel が提供する関数です。
これまでの私のフローは次のとおりです。
PHP は、個別のフィールドのドロップダウンを作成します。例:
オプション値=\"".$row[$filterby]."\">" ....
ユーザーがアイテムを選択すると、「onChange」が JS 関数を呼び出して検索文字列を作成します。
?果物=りんご&色=緑
私が抱えている問題は、テーブルを更新するために、JS で別の PHP ページを呼び出す必要があることです (window.location = "filtered.php" + searchString; を使用)。
コードは 1 つのフィールドに対して機能しますが、複数のフィールドをフィルター処理する場合、新しいページには渡したばかりの記憶がありません。
私の質問は 2 つあります。
- 私はこれについて完全に間違っていますか?私が目指しているものを生み出す最良の方法は何ですか?
- これは JQuery または AJAX なしで可能ですか?
編集:
わかりやすくするためにビジュアルを追加すると思いました。
+----+--------+----------+
| id | Fruit | Color |
+----+--------+----------+
| 1 | apple | red |
| 2 | mango | yellow |
| 3 | banana | yellow |
| 4 | apple | green |
+----+--------+----------+
filter.php?fruit=りんご&color=緑
+----+--------+----------+
| id | Fruit | Color |
+----+--------+----------+
| 4 | apple | green |
+----+--------+----------+
EDIT2:
php ですべてのデータを取得し、フィルターで html データを更新するだけの方がよいでしょうか? または、ドロップダウンが変更されるたびにJSがDBにクエリを実行するようにする必要がありますか?