この「問題」を説明するのに苦労しました。タイトルをこのテーマをよりわかりやすいものに変更してください。
私はデータベースを持っており、結果の並べ替え方法、データベースの検索方法などをユーザーが選択できるようにしたいと考えています。
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つのクエリで可能ですか?
仕上げコードスニペットは必要ありません。良い記事や「ベストプラクティス」があるかどうかを知る必要があります。これを行う方法です。最も簡単で安全な方法が推奨されます。
PSこの種の「問題」を何と呼びますか?