在ThinkPhp中运用自定义函数和分割数组有打卡表

本文详细介绍了在ThinkPhp框架下如何创建并使用自定义函数,以及如何进行数组的分割操作,结合具体示例展示了如何传递和赋值参数,同时在查询过程中应用这些技巧,提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 <?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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值