私はこの「問題」を説明するいくつかの問題を抱えていました。この主題をよりわかりやすいものに変更してください。ユーザがMySQLデータベースを検索できるようにするときに、異なるSQL検索クエリを処理する最良の方法
私はPHPとMySQLを使用しています
データベースを持っており、ユーザーに結果をソートする方法を選択する機会を与えたい、データベースを検索し、など。
私は、一例として、このテーブルのセットアップをした:データベースからデータを選択する方法は、このようなことができ
table Persons
+----+------+----------+------------+------+-----+
| id | age | gender | date | hits | car |
+----+-----------------+------------+------+-----+
| 1 | 18 | male | xx.xx.xxxx | 1040 | 1 |
| 2 | 35 | female | xx.xx.xxxx | 443 | 2 |
| 3 | 67 | male | xx.xx.xxxx | 453 | 2 |
| 4 | 10 | male | xx.xx.xxxx | 3454 | 4 | ==> 4 means Citroen
| 5 | 98 | female | xx.xx.xxxx | 323 | 6 |
+----+------+----------+------------+------+-----+
table Cars
+----+----------+
| id | model |
+----+----------+
| 1 | Porche |
| 2 | Ferrari |
| 3 | Volvo |
| 4 | Citroen |
| 5 | VW |
+----+----------+
を:
$sql = "SELECT *, DATE_FORMAT(date, '%b %e, %Y') AS show_date FROM persons ORDER BY date DESC LIMIT 100";
しかし、私は、ユーザーを与えたい場合はどのような日付別、ヒット数別、格付け別(別の表)、降順および昇順の両方でソートする機会、および男性(例えば)の性別でX歳未満の人のみを選択する機会が含まれます。私はこれをどのようにして行うのですか?すべての可能なクエリーに対してif else
を作成する必要がありますか、または1つのクエリで可能ですか?
フィニッシュコードスニペットは必要ありません。いい記事があるか、ベストプラクティスであるかを知る必要があります。最も簡単で最も安全な方法が好ましい。
P.S.あなたはこの種の「問題」を何と呼んでいますか?