我创建了一个接受数据数组的函数 我想通过创建一个已显示日期的表来返回此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>";
}
答案 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克拉克肯特