【发布时间】:2016-01-19 12:28:09
【问题描述】:
我有一个选择查询,它使用INNER JOIN 从 2 个表中检索所有数据。其中一张表称为Rack_Monitor,另一张称为Rack_Content。 Rack_Monitor 有一个名为 TotalUnits 的列(例如 48 )。 Rack_Content 有一个名为 Units 的列(例如 3 或 3;4,如果它包含多个单元,则分隔符是 ;。
问题:
现在我需要在 Twig 中构建一个循环 48 次的表(TotalUnits)并检查是否有任何内容要填充。如果不是,则该行必须为空。 该数组将从 0 开始,该数组的内容的单位为 3;4,因此它必须放在表格的第 3 行和第 4 行。
代码循环 48 次:
<table class="table" id="diagnosis_list">
<thead>
<tr>
<th>Unit</th>
</tr>
</thead>
<tbody>
{% set TotalUnits = RackContent[0].TotalUnits %}
{% for i in 1.. TotalUnits %}
<tr>
<td class="priority" style="">{{ i }}</th>
</tr>
{% endfor %}
</tbody>
</table>
此代码显示表格的 48 行数字。
我被下一个代码卡住了。这就是我到目前为止所得到的。我在正确的轨道上吗?:
<div class="col-xs-5 col-md-7 col-lg-7">
<table class="table" id="diagnosis_list">
<thead>
<tr>
<th>Name</th>
<th>Intern IP</th>
<th>Extern IP</th>
<th>Backup</th>
<th> </th>
</tr>
</thead>
<tbody>
{% for i in 0..TotalUnits %}
{% if RackContent[i] is defined %}
{% set UnitSplit = RackContent[i].Units|split(';') %}
<tr>
<td><h5>HostName</h5><small>Webserver</small></td>
<td><h5>InternIP</h5><small>WebserverInternIP</small></td>
<td><h5>IPMI IP</h5><small>WebserverIP</small></td>
<td><h5>BackupserverIP</h5></td>
<td><a class='btn btn-warning'>
<i class="fa fa-edit text-white"></i>
</a>
<a class='btn btn-danger'>
<i class="fa fa-trash-o text-white" onclick="Delete(2)"></i>
</a>
</td>
</tr>
{% else %}
<tr>
<td><h5>Empty</h5><small>Empty</small></td>
<td><h5>Empty</h5><small>Empty</small></td>
<td><h5>Empty</h5><small>Empty</small></td>
<td><h5>Empty</h5></td>
<td><a class='btn btn-warning'>
<i class="fa fa-edit text-white"></i>
</a>
<a class='btn btn-danger'>
<i class="fa fa-trash-o text-white" onclick="Delete(2)"></i>
</a>
</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
</div>
为什么我设置了 2 个表格是因为它是一个可拖动的表格。所以数字是静态的,不能移动。其他表格的内容可以上下移动。
代码还没有完成,但我只是想知道你们是否会以同样的方式进行编程,或者有没有更有效的方法来做到这一点?
【问题讨论】:
标签: php symfony doctrine twig html-table