这是我的数据库表注意字段是id studid,adate,amonth,ayear,acls_id,注意力和字段值都在下面。
id studid adate amonth ayear acls_id attendence
1 28 02 07 2015 10 1
2 31 02 07 2015 10 1
4 32 02 07 2015 10 1
5 28 13 07 2015 10 1
6 31 13 07 2015 10 1
7 32 13 07 2015 10 1
9 28 14 07 2015 10 1
10 31 14 07 2015 10 1
11 32 14 07 2015 10 1
13 28 15 07 2015 10 1
14 31 15 07 2015 10 0
15 32 15 07 2015 10 1
17 28 16 07 2015 10 0
18 31 16 07 2015 10 1
19 32 16 07 2015 10 1
21 28 17 07 2015 10 1
22 31 17 07 2015 10 1
23 32 17 07 2015 10 0
24 28 20 08 2015 10 1
25 31 20 08 2015 10 1
26 32 20 08 2015 10 0
我希望显示像数据透视表格式。
当我选择月份和年份并在数据库中检查月份和年份时。如果是显示值,如此数据透视表格式
例如:2015年7月
studid date1 date2 date3..date13 date14 date15 date16 date17.....date31
28 x 1 x 1 1 1 0 1 x x x..x
31 x 1 x 1 1 1 1 1 x x x..x
32 x 1 x 1 1 1 1 0 x x x..x
我的控制器代码是
$amonth = Input::get('amonth');
$ayear = Input::get('ayear');
$dayCount = date('t', strtotime('01-'. $amonth . '-' . $ayear));
$days = [];
for($i = 1; $i <= $dayCount; $i++) {
$days[] = $i; }
$attendence_tbl = WysAttendancename::where('cls_id',$id)->first();
$wys_attendence_table = $attendence_tbl->attendance_name;
$attendance = DB::table($wys_attendence_table)
->where('amonth','=',$amonth)
->where('ayear','=',$ayear)
->get();`
我的观点.blade.php
<td>Teacher Name</td>
@for($i = 1; $i <= $dayCount; $i++)
<td>{{$i}}</td>
@endfor
</tr>
@foreach($teacher as $teachers)
<tr>
<td>{{$teachers->tname}}</td>
@foreach($attendance as $attendances)
@if($teachers->id == $attendances->t_auserid)
@if($attendances->t_attendance == 1)
<td><font color="green">p</font></td>
@elseif($attendances->t_attendance == 0)
<td><font color="red">a</font></td>
@endif
@endif
@endforeach
@endforeach
它的工作正常,但问题是无法检查月份日(例如:adate-2)是否存在于数据库中。
我在列中使用display full month,代码是
$dayCount = date('t', strtotime('01-'. $amonth . '-' . $ayear));
$days = [];
for($i = 1; $i <= $dayCount; $i++) {
$days[] = $i; } `
在我的数据库2015年1月1日不是,但在2015年1月7日的2015年2月70日视图页显示以及3/107/2015中的13/07/2015值......
我想像上面的数据透视表格一样丢失 如何更改我的代码以检查数据库adate和月日($ i)???