1条回答 默认 最新
- dongqiongzheng0615 2017-11-23 08:44关注
Hi the following is one of the ways to achieve the solution your looking out for
NOTE : Just for the sake of demonstration I have included the database query in controller. Make sure you place it in Models folder.
$attendanceRecords = $this->db->get('attendance'); $attendaceDetails = array(); if($attendanceRecords->num_rows() > 0){ foreach($attendanceRecords as $key => $attendance){ if(!isset($attendaceDetails[$attendance['stud_id']])){ $attendaceDetails[$attendance['stud_id']][$attendance['a_date']] = $attendance['a_status']; }else{ $attendaceDetails[$attendance['stud_id']][$attendance['a_date']] = $attendance['a_status']; } } }
The above code will create the loop in the following format
$attendaceDetails[ /* Key is student id */ [1] => /* Attendance respective to that date */ ['2017-11-01'] => 'P', ['2017-11-02'] => 'P', ['2017-11-03'] => 'P' [2] => ['2017-11-01'] => 'P', ['2017-11-02'] => 'A', ['2017-11-03'] => 'A' ]
Now you can loop into the no of working days. For eg
$workingDays = ['2017-11-01', '2017-11-02', '2017-11-04']; /* This will get all the keys of the attendaceDetails ie student id */ $studentIds = array_keys($attendaceDetails); /* Loop all student ids and check whether he was present for the working days or not */ foreach($studentIds as $studentId){ foreach($workingDays as $workingDay){ if(isset($attendaceDetails[$studentId][$workingDay])){ echo 'Present'; }else{ echo 'Absent'; } } }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 csmar数据进行spss描述性统计分析
- ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
- ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
- ¥15 运动想象脑电信号数据集.vhdr
- ¥15 三因素重复测量数据R语句编写,不存在交互作用
- ¥15 微信会员卡等级和折扣规则
- ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?