Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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_Mysql - Fatal编程技术网

在PHP生成的表中显示用户的叶子

在PHP生成的表中显示用户的叶子,php,html,mysql,Php,Html,Mysql,我试图创建一个PHP日历,显示每个用户及其缺勤的每月视图。这是我的桌子: 我现在看到的是(注意缺席后的空字段): 正如您所看到的,每个缺勤类型都在每个表中。例如,“Max”应该只有“Compensation”。到目前为止,我所做的是得到正确的日期。如果日期为2015-02-01,则日期为0(因为循环从-1开始)。现在我只使用开始日期,而不是从-到结束日期 <html> <head> <meta charset="utf-8">

我试图创建一个PHP日历,显示每个用户及其缺勤的每月视图。这是我的桌子:

我现在看到的是(注意缺席后的空字段):

正如您所看到的,每个缺勤类型都在每个表中。例如,“Max”应该只有“Compensation”。到目前为止,我所做的是得到正确的日期。如果日期为
2015-02-01
,则日期为0(因为循环从-1开始)。现在我只使用
开始日期,而不是从-到结束日期

<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="css/style.css">
        <title>Absence System</title>
    </head>

    <body>
        <div id="container">
            <?php
                //mysql connection
                $con = mysql_connect("localhost", "root", "");
                if (!$con) {
                    die('Could not connect: ' . mysql_error());
                }
                //select db
                mysql_select_db("absence_system", $con);

                $result = mysql_query("select count(1) FROM employee");
                $row    = mysql_fetch_array($result);
                //count user
                $count_user = $row[0];

                //array with absences
                $result2 = mysql_query("select start, end, type_FK, employee_FK FROM absences");
                while ($row2 = mysql_fetch_assoc($result2)) {
                    $array_absences[] = $row2;
                }


                //count absences
                $count_absences = count($array_absences);



                //array with names
                $result = mysql_query("select name, employee_ID FROM employee");
                while ($row = mysql_fetch_assoc($result)) {
                    $array_user[] = $row;
                }




                //array with surenames
                $result = mysql_query("select surename FROM employee");
                while ($row2 = mysql_fetch_assoc($result)) {
                    $array_surname[] = $row2;
                }


                //find out the day from the date in a month
                for ($i = 0; $i < $count_absences; $i++) {
                    $array_absences[$i]['start'] = substr($array_absences[$i]['start'], -2);
                    $array_absences[$i]['end']   = substr($array_absences[$i]['end'], -2);

                    $array_absences[$i]['start'] = ereg_replace("^0", "", $array_absences[$i]['start']);
                    $array_absences[$i]['end']   = ereg_replace("^0", "", $array_absences[$i]['end']);

                    $array_absences[$i]['start'] = $array_absences[$i]['start'] - 1;
                }



                //table with numbers
                echo "<table border='1'><br />";

                echo "<tr>";
                for ($i = 0; $i < 32; $i++) {
                    if ($i == 0) {
                        echo "<td>", "Name", "</td>";
                    } else {
                        echo "<td>", $i, "</td>";
                    }
                }
                echo "</tr>";
                echo "</table>";


                //do as many times as there are users
                for ($row = 0; $row < $count_user; $row++) {


                    echo "<table border='1'><br />";
                    echo "<tr>";

                    //table with 31 days
                    for ($col = 0; $col < 31; $col++) {
                    $true = 0;
                        if ($col == 0) {
                            //first field for the name
                            echo "<td>", $array_user[$row]['name'], " ", $array_surname[$row]['surename'], "</td>";
                        }


                        //absence fields
                        for ($i = 0; $i < $count_absences; $i++) {

                            if ($col == $array_absences[$i]['start']) {
                                echo "<td>", $array_absences[$i]['type_FK'], "</td>";
                                $true = 1;
                            }


                        }

                        //normal fields
                        if ($true == 0) {
                            echo "<td>", $col, "</td>";
                        }


                    }

                    echo "</tr>";
                }
                //table end
                echo "</table>";
            ?>  
        </div>
    </body>
</html>

缺勤制度
我基本上需要的是循环中的第二个条件,其中if是(而不是员工的PK,因为如果有人被删除,订单是错误的)

有什么办法吗