我有一个select查询,它使用INNER JOIN
从2个表中检索所有数据。其中一个表称为Rack_Monitor
,另一个表称为Rack_Content
。 Rack_Monitor有一个名为TotalUnits
的列(例如48)。 Rack_Content有一个名为Units
的列(例如3或3; 4分隔符是a;如果它包含多个单位。
问题:
现在我需要在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个表是因为它是一个可拖动的表。所以这些数字是静态的,无法移动。包含内容的另一个表可以上下移动。
代码还没有完成,但我只是想知道你们是否会以同样的方式编程,还是有更有效的方法呢?
答案 0 :(得分:0)
这就是我做到的。现在工作正常。
<table class="table table-condensed">
<thead>
<tr>
<th>ID</th>
<th>Hardware</th>
<th>Name</th>
<th>Intern IP</th>
<th>Extern IP</th>
<th>Backup</th>
<th>Options</th>
</tr>
</thead>
<tbody>
{% for i in 1..(TotalUnits) %}
{% set ID = i %}
{% set FoundIt = 0 %}
{% for R in RackContent %}
{% for U in R.Units %}
{% if loop.length == 2 %}
{% if U == i and loop.index == 1 %}
<tr class="success">
<td>{{ ID }}</td>
<td rowspan="2"><h5>{{ R.Name }}</h5></td>
<td rowspan="2"><h5>{{ R.HostName }}</h5><small>{{ R.WebServer }}</small></td>
<td rowspan="2"><h5>{{ R.InternIP }}</h5><small>{{ R.WebServerInternIP }}</small></td>
<td rowspan="2"><h5>{{ R.IPMIIP }}</h5><small>{{ R.WebServerIP }}</small></td>
<td rowspan="2"><h5>{{ R.BackupServer }}</h5></td>
<td rowspan="2"><div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Options
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
<li><a href="#" data-toggle="modal" data-target="#myModal"><i class="fa fa-eye text-blue"></i>Open</a></li>
<li><a href="#" data-toggle="modal" data-target="#myModal"><i class="fa fa-edit text-orange"></i>Edit</a></li>
<li><a href="#" data-toggle="modal" data-target="#myModal"><i class="fa fa-trash-o text-red"></i>Delete</a></li>
</ul>
</div></td>
</tr>
{% set FoundIt = 1 %}
{% elseif U == i and loop.index == 2%}
<tr class="success">
<td>{{ ID }}</td>
</tr>
{% set FoundIt = 1 %}
{% endif %}
{% elseif loop.length == 1 %}
{% if U == i and loop.index == 1 %}
<tr class="success">
<td>{{ ID }}</td>
<td><h5>{{ R.Name }}</h5></td>
<td><h5>{{ R.HostName }}</h5><small>{{ R.WebServer }}</small></td>
<td><h5>{{ R.InternIP }}</h5><small>{{ R.WebServerInternIP }}</small></td>
<td><h5>{{ R.IPMIIP }}</h5><small>{{ R.WebServerIP }}</small></td>
<td><h5>{{ R.BackupServer }}</h5></td>
<td><div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Options
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
<li><a href="#" data-toggle="modal" data-target="#myModal"><i class="fa fa-eye text-blue"></i>Open</a></li>
<li><a href="#" data-toggle="modal" data-target="#myModal"><i class="fa fa-edit text-orange"></i>Edit</a></li>
<li><a href="#" data-toggle="modal" data-target="#myModal"><i class="fa fa-trash-o text-red"></i>Delete</a></li>
</ul>
</div></td>
</tr>
{% set FoundIt = 1 %}
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
{% if FoundIt == 0 %}
<tr class="active">
<td>{{ ID }}</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>