-1
私は、レポートの間隔を選択してより短い間隔でグループ化することができるので、(少なくとも私にとって)ちょっと複雑なレポートを作成しようとしています。毎週、毎週、2週間に1回、毎月に1回、四半期ごとに毎日、私は、PHP DatePeriodとDateInterval関数を使用してインターバルテーブルのカラムを生成する方法を見つけましたが、PHPで生成されたhtmlテーブルのカラムとdbカラムを一致させるためにMySqlに変換することに固執しています。PHPの日付間隔の代わりにMySql
<select class="form-control" id="columns" name="columns" tabindex="-1" aria-hidden="true">
<option value="1 day" selected="">Each day</option>
<option value="1 week">Each week</option>
<option value="1 month">Each month</option>
<option value="3 months">Each quarter</option>
<option value="1 year">Each year</option>
</select>
これは、レポートつもりグループ化とされている方法を選択するための選択オプションです:
$cols = array();
$colsIdentifiers = array();
$start_date = \Carbon\Carbon::parse(request('start_date'));
$end_date = \Carbon\Carbon::parse(request('end_date'));
$interval = DateInterval::createFromDateString(request('columns'));
$period = new DatePeriod($start_date, $interval, $end_date);
foreach ($period as $dt) {
$cols[] = $dt->format("d-m-Y");
$colsIdentifiers [] = $dt->format("dmY");
}
これはCOLSを生成するためのPHPコードです。
どうすれば同じことができますか?
あなたが探しているものは、DATE_SUB関数です。https://www.w3schools.com/sql/func_mysql_date_sub.asp –
あなたのスキーマは正確にはわかりません。あなたは精神的なフォーラムをしたいと思う必要があります – Strawberry