私は長年にわたってフィールドを持つMySQLデータベーステーブルを持っています。このテーブルの例は、次のようになります。指定した日付に基づいて日付範囲セレクタを作成します
registration_date |
------------------
1965
1972
1984
1997
1963
物のフロントエンド側では、ユーザーは年の範囲のドロップダウンから選択できます。すなわち
1961-1965
1966-1970
1971-1975
私のデータベースから利用可能なデータに基づいてこの範囲の日付を生成する最も効果的な方法は何ですか?
$row = //year available
while(((int) substr($row, -1)) !== 0) {
$start_date = $row--;
}
while(((int) substr($row, -1)) !== 6) {
$end_date = $row++;
}
を、それが実行に時間がかかりすぎると、残念ながらこれはただのハング:
私が試してみました。
私は、データベースからのデータの多くを引き出している参照してください。 SQLを使用してデータベースから必要なデータを準備する必要があります。そして、日付があるときは、phpを使って日付を印刷することができます。 – vishwakarma09
単日付を返すのではなく、SQLを使用して日付範囲を作成するにはどうすればよいですか? @ vishwakarma09 –
registration_dateの重複のために処理が遅くなる可能性があります。値が一意であるかどうかを確認してください。 1900年から2016年の間でさえ比較的小さい配列である。 – Axidepuy