<?php
header("Content-type: text/html; charset=utf-8"); // 防止乱码
error_reporting(0); // 屏蔽一切错误
table("XX人生 打卡表","请假交费等信息显示功能正在开发",13,2,1000,'center',",安X,白XX,何X,吕X,刘XX,李XX,王X,郑XX,赵X,周X,张XX,备注"); // 传值
function table($tablename,$tablecontent,$cols,$border,$width,$align,$names) // table 函数接传过来的值
{
$str .= '<table border="'.$border.'" width="'.$width.'" align="'.$align.'">';
// 把table 函数里的“边界赋值给$border”这个变量、把table 函数里的“宽度赋值给$width”这个变量、把table 函数里的“排列赋值给$align”这个变量
// 大标题
$str.= "<caption><h1>$tablename</h1></caption>";
// 小标题
$str.= "<caption><h2>$tablecontent</h2></caption>";
// 姓名行
$str.= "<tr>"; // <tr> 表格的一行的开始标签
$names_split = explode(',', $names); // 分割名字数组,把$name按逗号分割,保存到数组$name_apilt。
for($i=0;$i<count($names_split);$i++) // 遍历数组$name_spilt
{
$str.= "<td align=center>".$names_split[$i]."</td>"; // $srt赋值 排列居中 分割$name的值给$i
}
$str.= "</tr>"; // </tr> 表格的一行的结束标签
// 链接数据库内容xxxxx
$con = mysqli_connect("localhost", "root", "xxxxx", "daka"); // $con赋值于 数据库连接(本地服务器,用户名,密码,数据库库名)
if (mysqli_connect_errno($con)) // 如果数据库连接失败
{
echo "连接 MySQL 失败 " . mysqli_connect_errno();
}
$sql = "SELECT day,ids FROM daka201809jb"; // 查询 daka201809jb表中的 day和ids 字段
if ($result = mysqli_query($con,$sql)) // 如果 $result赋值于数据库问题
{
// 一条条获取
while ($row = mysqli_fetch_row($result)) // 循环把数据库接来的值 赋值给 $row
{
$day = $row[0]; // 把$row 下标从0开始的 赋值给 $day
$ids = $row[1]; // 把$row 下标从1开始的 赋值给 $ids
$str.= "<tr>"; // 表格的一行的开始标签
$ids_split = explode(',', $ids); // 分割ids数组,把$ids按逗号分割,保存到数组$ids_apilt。
$str.='<td align=center>'.$day.'</td>'; // 日期升序排列 排列居中 表格的一行的结束标签
for($i=1;$i<$cols;$i++) // for循环 $i赋值为1 $i小于$cols $i自增
{
$isin = in_array($i,$ids_split); // 判断$i是否被包含在$ids_split数组里,返回是一个布尔值
if ($isin) { // 如果$ids_split包含$i
$str.= '<td align=center><font color=green>'.'✔'.'</font></td>'; // 绿色的对号居中 赋值给$str
}else{ // 如果$ids_split不包含$i
$str.= '<td></td>';
}
}
$str.='</tr>';
}
mysqli_free_result($result); // 释放结果集合
}
mysqli_close($con); // 关闭数据库
$str.= '</table>';
echo $str;
}