tip:对象中的大于号在编辑中被转义了。贴代码的时候 自己修改下
/**查询出课程在时间范围内访问的用户**/
$sql = "select distinct userid from {log} where action = 'view' and course=$data->courseid
and time >= $data->start_date and time <= $data->end_date";
$course_view_users = $DB->get_records_sql($sql);
/**计算用户的访问天数**/
$limit_days = ceil(($data->end_date - $data->start_date)/(60*60*24));
/***因为数据结构的特殊原因 使用嵌套循环查询***/
//循环天数计算每个用户的访问天数
$logins = array();
for ($i = 0; $i < $limit_days; $i++) {
//循环用户 计算当天是否登录
$starttime = ($data->start_date) + ((60*60*24)*$i);
$endtime = ($data->start_date) + ((60*60*24)*($i+1));
foreach($course_view_users as $course_view_user){
$sql = "select * from {log} where userid = $course_view_user->userid
and course=$data->courseid and time >= $starttime and time <=$endtime";
$record = $DB->get_records_sql($sql);
//存在记录的进行计数
if($record){
if(isset($logins[$course_view_user->userid])){
$logins[$course_view_user->userid]=$logins[$course_view_user->userid]+1;
}else{
$logins[$course_view_user->userid] = 1;
}
}
}
}
/**查询出课程在时间范围内访问的用户**/
$sql = "select distinct userid from {log} where action = 'view' and course=$data->courseid
and time >= $data->start_date and time <= $data->end_date";
$course_view_users = $DB->get_records_sql($sql);
/**计算用户的访问天数**/
$limit_days = ceil(($data->end_date - $data->start_date)/(60*60*24));
/***因为数据结构的特殊原因 使用嵌套循环查询***/
//循环天数计算每个用户的访问天数
$logins = array();
for ($i = 0; $i < $limit_days; $i++) {
//循环用户 计算当天是否登录
$starttime = ($data->start_date) + ((60*60*24)*$i);
$endtime = ($data->start_date) + ((60*60*24)*($i+1));
foreach($course_view_users as $course_view_user){
$sql = "select * from {log} where userid = $course_view_user->userid
and course=$data->courseid and time >= $starttime and time <=$endtime";
$record = $DB->get_records_sql($sql);
//存在记录的进行计数
if($record){
if(isset($logins[$course_view_user->userid])){
$logins[$course_view_user->userid]=$logins[$course_view_user->userid]+1;
}else{
$logins[$course_view_user->userid] = 1;
}
}
}
}