【问题标题】:foreach multidimensional array phpforeach 多维数组 php
【发布时间】:2015-08-29 02:40:30
【问题描述】:

我的问题

table layout - foreach

这是源代码

<table>

<tr>
<th>No</th>
<th>Name</th>
<th>Month</th>
<th>Total</th>
</tr>

$no=1;
    while($row = mysqli_fetch_assoc($sql2))
    {
        $CATEGORY[$row['NAME']][]=$row['MONTH'];
    }
    $old = 0;

    foreach($CATEGORY as $key => $CATEGORY)
    {
        foreach($CATEGORY as $CODE)
        { 
        echo "<tr>";

           if($old == 1)
           {
              echo "<td></td>
              <td></td>";
           }
           else
           {
              echo "<td>".$no."</td>
              <td>".$key."</td>";
              $old = 1;
          }

        echo "<td>";
        echo $CODE."<br>";
        echo "</td><td></td></tr>";
        }
        $old = 0;
        $no=$no+1;
    }
    echo '</table>';

如果我想显示总值,并出现在总计列中如何添加到foreach 中的数组例如:$row['TOTAL']

【问题讨论】:

  • 你能print_r($CATEGORY)吗?并将结果展示给我
  • Array([0] => Sept ) 我放在了 之后
  • 在使用print_r()时给我$row的结果
  • Array ([id_name] => 1 [id_name] => 1 [id_month] => 8 [id_month] => 8 [name] => John [Month] => August) 数组 ([ id_name] => 2 [id_name] => 2 [id_month] => 9 [id_month] => 9 [name] => Adam [月] => 九月)
  • 所以你想制作一个表格来显示用户的姓名和日期?

标签: php mysql arrays foreach


【解决方案1】:

我现在明白了。

<table>

 <tr>
  <th>No</th>
  <th>Name</th>
  <th>Month</th>
  <th>Total</th>
 </tr>

 <?php

    while($row = mysqli_fetch_assoc($sql2))
    {
      $CATEGORY[]=['id_month' => $row['id_month'], 'name' => $row['name'], 'month' => $row['month'], 'total' => $row['total'];
    }

    foreach($CATEGORY as $key => $val) {
       echo '<tr>';
        echo '<td>'.$val['id_month'].'</td>';
        echo '<td>'.$val['name'].'</td>';
        echo '<td>'.$val['month'].'</td>';
        echo '<td>'.$val['total'].'</td>';
       echo '</tr>';
    }
 ?>
 </table>

【讨论】:

  • 也许你的数据库中有两个名字。
  • 是的,它会重复尝试观察数据库中的数据。它们具有相同的名称。
  • 是的,在 db 有重复...但我只想显示一次名称...在我的代码中...它只显示一次名称....
【解决方案2】:

您需要遍历数组来计算总计,每次迭代您将值添加到初始总计变量。

$data = [
   ['id' => 1,'cost' => 10],
   ['id' => 1,'cost' => 10],
   ['id' => 1,'cost' => 10]
];
$total = 0;
foreach($data as $key => $value){
 $total +=$value['cost'];

}
echo $total; // 30

这是您计算总数的方式,或者您也可以在查询中执行此操作。 只需适应您的需求,它应该可以解决您的问题,您就快到了。

【讨论】:

    猜你喜欢
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多