我怎样才能使这个函数返回显示数组数据的表

时间:2017-11-22 18:19:53

标签: php

我创建了一个接受数据数组的函数 我想通过创建一个已显示日期的表来返回此HMTL 但foreach不显示HTML而不显示任何错误。

我的问题是:如何让这个函数返回显示数组数据的表?

我的功能:

<?php

function GetTableResult($arrayData) {

  return "<table id='Grid' class='table table-striped table-bordered table-hover dataTable no-footer DTTT_selectable' role='grid' aria-describedby='dynamic-table_info'>
          <thead>
            <tr>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Date</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Name</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Procedure</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Provider Name</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Bravery</th>                                         
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Coparticipation</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Type</th>
              <th class='hidden-480' tabindex='0' aria-controls='dynamic-table' rowspan='1' colspan='1' aria-label='teste'>Date Reference`enter code here`</th>
            </tr>
          </thead>
          <tbody>";
            foreach($arrayData as $data){
             "<tr id='Grid_Linha_1' class='odd' role='row'>
              <td class = 'hidden-480'>" . $data['date']             . "</td>
              <td class = 'hidden-480'>" . $data['name']             . "</td>
              <td class = 'hidden-480'>" . $data['procedure']        . "</td>
              <td class = 'hidden-480'>" . $data['provider_name']   . "</td>
              <td class = 'hidden-480'>" . $data['bravery']          . "</td>
              <td class = 'hidden-480'>" . $data['coparticipation'  . "</td>
              <td class = 'hidden-480'>" . $data['type']             . "</td>
              <td class = 'hidden-480'>" . $data['date_reference']  . "</td>
            </tr>";
            }
          "</tbody>
        </table>";
}

2 个答案:

答案 0 :(得分:1)

这是一个简化的例子,但你应该得到要点:

<?php

function GetTableResult($arrayData) {
    $table = '<table>';

    foreach($arrayData as $data) {
        $table .= "<tr id='Grid_Linha_1' class='odd' role='row'>
              <td class = 'hidden-480'>${data['date']}</td>
              ...
            </tr>";
    }
    $table .= '</table>';

    return $table;
}

echo GetTableResult([
    ['date' => '2017-11-22'],
    ['date' => '2017-11-23'],
]);

关键是将生成的HTML存储到变量($table)中,向其追加字符串(使用$table .= ...)并在字符串中使用${data['field_name']}来插入变量值。

我希望这有帮助!

一般建议:手动生成复杂的HTML是一个痛苦的过程。我建议您查看像Twig这样的模板引擎来缓解疼痛:)。

答案 1 :(得分:0)

这是我在评论中所说的解决方案。你错过了一个括号,试着回应而不是返回。

window.onload

输出:

日期名称

1/1/10 peterparker

2/10/27克拉克肯特