php - 如何将具有相同名称的行合并到使用两个 foreach 获取数据的行中

标签 php html mysql codeigniter

我想将具有相同名称的行合并到下表中的一行,而且合并时休假计数应该显示它的总和,我使用了两个 forach 来列出表,因为它需要两个数据。试过一些没有work.sending as a message body for email 尝试了一些方法 saw ,但是没有用

enter image description here 留名 雇员 1 0 Emp2 0.5 Emp3 1 Emp2 1 Emp4 4 Emp5 1 Emp3 1

代码:

$message2="<html>
               <body>

            <table ;> 
                <thead>
                    <tr>
                        <th>Name</th>
                        <th>Leave</th>

                    </tr>    
                </thead>
                <tbody>";


                        foreach($leave2 as $val) {

                           if($val->hourcount>2)
                           {
                            $newcount=.5;
                           }
                           else
                           {
                            $newcount=0;
                           }
                           if($val->hourcount>=6)
                           {
                            $newcount=1;
                           }
                        $message2 .="<tr>
                            <td>" . $val->resource ."</td>
                            <td>".$newcount."</td>

                        </tr>";

                     } 

                    foreach($leave as $value) { 
 $message2 .="<tr>
                            <td>" . $value->resource ."</td>
                            <td>".$value->Days."</td>

                        </tr>";
                     } 
if (count($value->resource) > 0) {

    $html = '';

    foreach($val->resource as $key => $val) {
       $html .= "<tr>\r\n";    

       $html .= "<td rowspan='".count($val)."'>{$key}</td>\r\n";

       foreach($val as $key => $td) {
           if($key>0) {
              $html.= "<tr>";
           }
           $html .= "<td>{$td}</td>\r\n";

           $html .= "</tr>\r\n";
       }        
    }
}


                 "</tbody>
            </table>

            <p>Leave report</p> 
            <hr />     
        </body>
        </html>";

最佳答案

你可以试试这样的东西

1 ) 创建一个数组,其中包含员工姓名和他们的总休假数

2 ) 从该数组中显示所需的表格格式

<?php
    $sql = "SELECT * FROM table_name";
    $result = $db->query($sql);
     if ($result->num_rows > 0) { 
          while ($row = $result->fetch_assoc()) {

            $name = $row['Name'];
            $level = $row['Level'];
            if(isset($leaveArr[$name])){
                $leaveArr[$name] = $leaveArr[$name]+ $level;
            }else{
                $leaveArr[$name] = $level;
            }

        }  } 
    if(count($leaveArr)>0){
        echo "<table>";
        echo "<tr><td>Name</td><td>Leave</td></tr>";
        foreach ($leaveArr as $key => $value) {
            echo "<tr>";
            echo "<td>" . $key . "</td>";
            echo "<td>" . $value . "</td>";
            echo "</tr>";
        }
        echo "</table>";
    }

关于php - 如何将具有相同名称的行合并到使用两个 foreach 获取数据的行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55118627/

相关文章:

javascript - 我添加了这段代码,但现在子 <li> 菜单列表未打开..执行了操作但未打开菜单

html - 如何使发空间和细空间不断裂?

javascript - 循环遍历对象和未知数量的子对象

javascript - 使用从 vimeo/youtube 复制的 iframe 代码时出现同源错误

c# - 将 subsonic 与 mysql 一起使用

mysql - Mule ESB 自行重启

mysql - 将自定义字符串传递到 MariaDB/MySQL C 连接器 API 函数时出现 "unknown column in field list"错误

php - 保存并下载 PDF

php - WordPress 内容未在 .load jQuery 函数上检索

php - 使用 PHP 将 450x450 的正方形图像裁剪成 9 个 150x150 的图像