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

Php 如何将具有相同名称的行合并到一个使用两个foreach获取数据的行中,php,html,mysql,codeigniter,Php,Html,Mysql,Codeigniter,我想将同名的行合并到下表中的一行,并且合并时休假的计数应显示其总和,我使用了两个forach来列出表,因为它需要两种数据。尝试了一些不起作用的方法。作为电子邮件的邮件正文发送尝试了一些方法,但不起作用 点名假 EMP10 Emp2 0.5 Emp3 1 Emp2 1 Emp4 4 Emp5 1 Emp3 1 代码: $message2=” 名称 离开 "; foreach($leave2作为$val){ 如果($val->hourcount>2) { $newcount=.5; } 其他的 {

我想将同名的行合并到下表中的一行,并且合并时休假的计数应显示其总和,我使用了两个forach来列出表,因为它需要两种数据。尝试了一些不起作用的方法。作为电子邮件的邮件正文发送尝试了一些方法,但不起作用

点名假 EMP10 Emp2 0.5 Emp3 1 Emp2 1 Emp4 4 Emp5 1 Emp3 1

代码:

$message2=”
名称
离开
";
foreach($leave2作为$val){
如果($val->hourcount>2)
{
$newcount=.5;
}
其他的
{
$newcount=0;
}
如果($val->hourcount>=6)
{
$newcount=1;
}
$message2.=”
“$val->resource。”
“$newcount。”
";
} 
foreach($value形式的休假){
$message2.=”
“$value->resource。”
“$value->Days。”
";
} 
如果(计数($value->resource)>0){
$html='';
foreach($val->resource as$key=>$val){
$html.=“\r\n”;
$html.=“{$key}\r\n”;
foreach($valas$key=>$td){
如果($key>0){
$html.=”;
}
$html.=“{$td}\r\n”;
$html.=“\r\n”;
}        
}
}
"
休假报告


";
您可以尝试类似的方法

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
    $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>";
    }