<div class="dataUserArt" id="m1d">
<? foreach($rowAll as $row){?>
<? if($row['section']==1){?>
<div class="oneArticle">
<img src="../images/s<?=$row['section'];?>mini.png" alt="" /><a href="?page=<?=$row['id'];?>"><?=$row['header'];?></a>
</div>
<?}?>
<?}?>
</div>
<div class="dataUserArt" id="m2d">
<? foreach($rowAll as $row){?>
<? if($row['section']==2){?>
<div class="oneArticle">
<img src="../images/s<?=$row['section'];?>mini.png" alt="" /><a href="?page=<?=$row['id'];?>"><?=$row['header'];?></a>
</div>
<?} ?>
<?}?>
</div>
Отличия между ними только вот тут:
<div class="dataUserArt" id="m1d">
<div class="dataUserArt" id="m2d">
И тут
<? if($row['section']==1){?>
<? if($row['section']==2){?>
Можно конечно объединить их в while но это ведь все равно будет два foreach.
<? $col=1; while ($col <=2){ ?>
<div class="dataUserArt" id="m<?=$col;?>d">
<? foreach($rowAll as $row){?>
<? if($row['section']==$col){?>
<div class="oneArticle">
<img src="../images/s<?=$row['section'];?>mini.png" alt="" /><a href="?page=<?=$row['id'];?>"><?=$row['header'];?></a>
</div>
<?}?>
<?}?>
</div>
<? $col++;} ?>
Можно ли обойтись без while и сделать все в одном foreach?