私はかなり長いコードを持っているので、その中に質問としていくつかの追加のコメントを付けてここに投稿するのが最善だと思います:
<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つしかないため、混乱します。
最初はサブコンテナが3つしかない理由.jobsContainer
がわかりませんが、それ以降は必要に応じて4つありますが、おそらくそれは明らかで、私はそれを見ることができません...
ps .jobContainer
1つ.jobsContainer
の中に5を印刷するようにコードを設定した場合、最初.jobsContainer
に4が印刷され、次のすべての5から5が印刷されます。.jobsContainer