-1
사용자가 보고서의 간격을 선택하고 작은 간격으로 그룹화 할 수 있으므로 (적어도 저에게는) 다소 복잡한 보고서를 만들려고합니다. 매일, 매주, 매 2 주마다, 매월마다, 매 분기마다 등등. 나는 PHP DatePeriod 및 DateInterval 함수를 사용하여 간격 테이블 열을 생성하는 방법을 찾았으나 이제는 PHP에서 생성 된 html 테이블 열과 db 열을 일치시키기 위해 MySql으로 변환해야했습니다.PHP 날짜 간격 대신 MySql 대체
$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 코드는 다음과 같습니다
<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>
이 보고서가 거 그룹화하는 방법을 선택하고 대한 옵션을 선택합니다.
어떻게 같은 일을 할 수 있지만 MySQL에서 ??
당신이 찾고있는 것은 DATE_SUB 함수입니다. https://www.w3schools.com/sql/func_mysql_date_sub.asp –
우리는 당신의 스키마에 관해서 정확히 아무것도 모릅니다. 당신은 심령술 포럼을 원해야합니다. – Strawberry