【问题标题】:Looping through an array of arrays (creating a dynamic table)循环遍历数组数组(创建动态表)
【发布时间】:2017-04-30 20:26:18
【问题描述】:

我正在尝试为 TCPDF 文档创建一个动态表,但循环查询结果非常不舒服。

保存 SQL 查询的

$arrResult 变量如下所示:

array(1) { 
    ["Dec"]=> array(3) { 
        [0]=> array(1) { 
            [0]=> array(2) { 
                ["name"]=> string(4) "Jane" 
                ["message"]=> string(0) "test" 
            } 
        } 
        [1]=> array(1) { 
            [0]=> array(2) { 
                ["name"]=> string(6) "Oliver" 
                ["message"]=> string(20) "test!" 
            } 
        } 
        [2]=> array(1) { 
            [0]=> array(2) { 
                ["name"]=> string(4) "John" 
                ["message"]=> string(4) "test" 
            } 
        } 
    } 
}

我设法循环大数组并获取每个月,但不知道如何将其他数据放入表中。这是那部分代码:

$content = '';
     $content .= '<table border="1" cellpadding="1">';

        foreach($arrResults as $key=>$value) {
            $content .= "<tr><th style='font-weight:bold;font-size:12px' colspan='8' align='center'>".$key."</th></tr>";
                foreach($arrResults[$key] as $key2=>value2) {

                }
        }  

      $content .= '</table>';

任何帮助将不胜感激。

【问题讨论】:

  • 你看到答案了吗?

标签: php arrays foreach html-table tcpdf


【解决方案1】:

感谢您的回答!

现在可以使用这种方法:

$content = '';  
$content .= '<table border="1" cellpadding="1">';

foreach($arrResults as $key=>$value) {
     $content .= '<tr><th style="font-weight:bold;font-size:12px" colspan="8" align="center">'. $key .'</th></tr>';
     $content .= '<tr>
              <th style="font-weight:bold;font-size:12px">ID</th>
              <th style="font-weight:bold;font-size:12px">Nume</th>
              <th style="font-weight:bold;font-size:12px">Prenume</th>
              <th style="font-weight:bold;font-size:12px">Email</th>
              <th style="font-weight:bold;font-size:12px">Rol</th>
              <th style="font-weight:bold;font-size:12px">Data Programare</th>
              <th style="font-weight:bold;font-size:12px">Mesaj</th>
              <th style="font-weight:bold;font-size:12px">Status</th>
           </tr>';
         foreach($value as $k => $v) {
         //var_dump($v);die();
            $content .= '<tr>';
            $content .= '<td>'. $v[0]['id'] .'</td>';
            $content .= '<td>'. $v[0]['last_name'] .'</td>';
            $content .= '<td>'. $v[0]['first_name'] .'</td>';
            $content .= '<td>'. $v[0]['email'] .'</td>';
            $content .= '<td>'. $v[0]['role'] .'</td>';
            $content .= '<td>'. $v[0]['appointment_date'] .'</td>';
            $content .= '<td>'. $v[0]['message'] .'</td>';
            $content .= '<td>'. $v[0]['status'] .'</td>';
            $content .= '</tr>';
         }
}
$content .= '</table>';

【讨论】:

    【解决方案2】:
     $content = '';
     $content .= '<table border="1" cellpadding="1">';
    
        foreach($arrResults as $key=>$value) {
            $content .= "<tr><th style='font-weight:bold;font-size:12px' colspan='8' align='center'>".$key."</th></tr>";
            $content .= "<tr>
                    <th>id</th>
                    <th>num</th>
                    <th>prenum</th>
                    <th>email</th>
                    <th>rol</th>
                    <th>data</th>
                    <th>mesaj</th>
                    <th>statue</th>
                    </tr>";
                foreach($value as $key2=>$value2) 
                {
                    $content .= '<tr><td>'.$key2.'</td>';
                    foreach($value2 as $key3=>$value3) 
                    {
                        $content .= '<td>'.$value3['num'].'</td>';
                        $content .= '<td>'.$value3['prenum'].'</td>';
                        $content .= '<td>'.$value3['email'].'</td>';
                        $content .= '<td>'.$value3['rol'].'</td>';
                        $content .= '<td>'.$value3['data'].'</td>';
                        $content .= '<td>'.$value3['mesaj'].'</td>';
                        $content .= '<td>'.$value3['statue'].'</td>';
                    }
                $content .= '</tr>';
                }
        }  
    
      $content .= '</table>';
    

    我认为你想要一些像他一样的人,我确实犯了一些错误。

    【讨论】:

      【解决方案3】:
      <?php
      $contentdata = '';
      $contentdata .='<table>';
      $contentdata .='<tr>';
      $contentdata .='<td><b>Decembire</b></td>';
      $contentdata .='</tr>';
      $contentdata .='<tr>';
      $contentdata .='<td><span>ID</span></td>';
      $contentdata .='<td><span>Nume</span></td>';
      $contentdata .='<td><span>Prenume</span></td>';
      $contentdata .='<td><span>Email</span></td>';
      $contentdata .='<td><span>Roll</span></td>';
      $contentdata .='<td><span>Data Programme</span></td>';
      $contentdata .='<td><span>Mesaj</span></td>';
      $contentdata .='<td><span>Status</span></td>';
      $contentdata .='</tr>';
      
      foreach($test['Dec'] as $key=>$value){
          $contentdata .= '<tr><td>'.$key.'</td>';
          foreach($value as $key1=>$valuedata){
              $contentdata .='<td><span>'.$valuedata['num'].'</span></td>';
              $contentdata .='<td><span>'.$valuedata['prenum'].'</span></td>';
              $contentdata .='<td><span>'.$valuedata['email'].'</span></td>';
              $contentdata .='<td><span>'.$valuedata['rol'].'</span></td>';
              $contentdata .='<td><span>'.$valuedata['data'].'</span></td>';
              $contentdata .='<td><span>'.$valuedata['mesaj'].'</span></td>';
              $contentdata .='<td><span>'.$valuedata['statue'].'</span></td>';
          }
          $contentdata .='</tr>';
      }
      echo $contentdata;
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-24
        • 2018-07-17
        • 1970-01-01
        • 2021-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多