我有一个相当长的代码,所以我认为最好的办法是在这里发布一些附加评论作为其中的问题:
<div class="contentRow">
<h2>Title</h2>
<div id="frame">
<?php
//Get files
$sql->query("SELECT * FROM files WHERE job = 'true'");
$count = count($sql->get());
//No files to display
if ($count == "0"){
echo "<div class='box red'><p>No jobs found.</p></div>";
} else{
$sql->query("SELECT * FROM files WHERE job = 'true'");
$i=0;
foreach($sql->get() as $result){
$i++;
?>
<!-- Here I start printing the results and here the problems begin -->
<!-- My goal here: Print n .jobsContainer with exactly 4 .jobContainer inside -->
<?php if ($i % 4 == 0){ ?>
</div><!-- CLOSE jobsContainer -->
<?php } ?>
<?php if ($i % 4 == 0 OR $i == 1){ ?>
<div class="jobsContainer"><!-- OPEN jobsContainer -->
<?php } ?>
<!-- Print the .jobContainer -->
<div class="jobContainer">
content + table + form
</div>
<!-- My goal here: Print .jobSeperator after every 2nd .jobContainer -->
<?php if ($i % 2 == 0){ ?>
<div class="jobSeperator"> </div>
<?php } ?>
<!-- CLOSE loop -->
<?php } }?>
</div><!-- jobsFrame -->
<div class="clear"></div>
</div><!-- contentRow -->
所需的输出应如下所示:
我的问题如下:
似乎第一个容器中只包含3 个元素,但之后有 4 个。因此分隔符也有点混乱,看起来像这样:
似乎问题不适用于.jobSeperator
,因为它总是在每 2 个容器之后包含,但是它也被搞砸了,因为在第一个.jobsContainer
容器中只有 3 个子容器。
我不明白为什么一开始.jobsContainer
只有 3 个子容器,但是从那以后,根据需要,有 4 个,但可能很明显,我只是看不到它......
ps 如果我将代码设置为.jobContainer
在一个内打印 5 .jobsContainer
,则第一个打印 4 ,.jobsContainer
然后在每个后续打印 5.jobsContainer