Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php每月出勤表_Php_Html - Fatal编程技术网

php每月出勤表

php每月出勤表,php,html,Php,Html,我正在尝试创建一个月度考勤系统,该系统显示员工每月每天工作的小时数- php代码- $s = $_GET['s']; $y = date('Y'); $fdt = date('Y-m-d',strtotime($y.'-'.$s.'-'.'01')); $ldt = date('Y-m-t',strtotime($y.'-'.$s.'-'.'01')); $nd = date('t',strtotime($y.'-'.$s.'-'.'01')); $stmt = $pdo->pr

我正在尝试创建一个月度考勤系统,该系统显示员工每月每天工作的小时数-

php代码-

    $s = $_GET['s'];
$y = date('Y');

$fdt = date('Y-m-d',strtotime($y.'-'.$s.'-'.'01'));
$ldt = date('Y-m-t',strtotime($y.'-'.$s.'-'.'01'));
$nd = date('t',strtotime($y.'-'.$s.'-'.'01'));
$stmt = $pdo->prepare("SELECT emp_id_fk, Resource_Name , ROUND(SUM(TIME_TO_SEC(TIMEDIFF(COALESCE(`end_time`,NOW()),`start_time`)))/3600,1) as Hrs, CAST(`start_time` AS DATE) as cd FROM `attendance` LEFT JOIN resource ON attendance.`emp_id_fk` = resource.`Resource_ID` WHERE CAST(`start_time` AS DATE) BETWEEN :s AND :e GROUP BY emp_id_fk, Resource_Name, CAST(`start_time` AS DATE)");

$stmt->bindParam(':s', $fdt);
$stmt->bindParam(':e', $ldt);

$stmt->execute();
$data = $stmt->fetchAll();
print_r($data);
$ret = "";
$id = array_column($data,'emp_id_fk');
$name = array_column($data,'Resource_Name');
$id = array_unique($id);
$name = array_unique($name);

for($i=0;$i<sizeof($id); $i++){
    $ret.='<tr>
            <td>'.$name[$i].'</td>';

        for($j=0; $j<sizeof($nd); $j++){
            $cd = date('Y-m-d',strtotime($y.'-'.$s.'-'.($j+1)));
            $d = date('l',strtotime($y.'-'.$s.'-'.($j+1)));

            if($d != 'Sunday' && $d != 'Saturday'){

                for($k=0; $k<sizeof($data); $k++){

                    if( $id[$i] == $data[$k]['emp_id_fk']){

                        if($cd == $data[$k]['cd']){
                            $ret.='<td>'.($data[$k]['Hrs']).'</td>';
                        }else{
                            $ret.='<td>0</td>';
                        }
                    }
                }
            }

        }
    $ret.='</tr>';
}

echo $ret;
$s=$\u GET['s'];
$y=日期('y');
$fdt=日期('Y-m-d',标准时间('Y.-'.$s.-'.'01');
$ldt=日期('Y-m-t',strottime('Y.-'.$s.-'.'01');
$nd=日期('t',标准时间($y.-'.$s.-'.'01');
$stmt=$pdo->prepare(“选择emp_id_fk,Resource_Name,ROUND(SUM(TIME)~u SEC(TIMEDIFF(COALESCE(`end_TIME`,NOW()),`start_TIME`))/3600,1)作为小时,从`attention`左侧加入资源,从`attention`开始播放(`start_TIME`作为日期)。`emp_id_fk`=Resource.`Resource_id`在哪里播放(`start_TIME`作为日期)由emp_id_fk、资源名称、CAST(`start_time`AS DATE')在:s和:e组之间;
$stmt->bindParam(':s',$fdt);
$stmt->bindParam(':e',$ldt);
$stmt->execute();
$data=$stmt->fetchAll();
打印(数据);
$ret=“”;
$id=array_column($data,'emp_id_fk');
$name=array_column($data,'Resource_name');
$id=数组\唯一($id);
$name=array\u unique($name);
对于($i=0;$i),PHP函数sizeof()是count()的别名。
函数count()用于计算数组中的所有元素或对象中的某些元素

更改:

for($j=0; $j<sizeof($nd); $j++){

for($j=0;$jI从我所看到的,$jI希望您运行的是64位版本的PHP。如果不是,您应该认真研究DateTime对象:.2038年的问题:不客气!如果那天我在代码中花了太多时间,我也会被类似的事情难倒。有时候,有另一双眼睛是件好事。:-)
for($j=1; $j<=$nd; $j++) {