清单的问题.嵌套循环



我在这里打开一个新的行后,每6从数据,我想画的行数据。当下面类似6的代码将数据打印36次时。这个函数检查有多少局。如果我在下面提到,但现在有36个6个印刷单位。每张打印6次

for($i = 0; $i < $db->oyunSayisi(); $i++)
{ 
    if ($i % 6 == 0)
    {
        echo "<tr>";
    }
    ?>
    <br/>
    <?php
    foreach($db->oyunCek() as $oyun)
    {
        ?>
        <td width="224" height="115"><a href="<?=$db->siteAdres()?>/oyun.php?id=<?=$oyun['o_id']?>" title="<?=$oyun['o_baslik']?> oyna"><img height="115;110" src="<?=$db->siteAdres()?>/resimler/<?=$oyun['o_resim']?>" title="<?=$oyun['o_baslik']?> oyna" alt="<?=$oyun['o_baslik']?> oyna" /></a></td>
        <?php
    }
    if ($i % 6 == 0)
    {
        echo "</tr>";
    }
} 

我想我知道是什么原因了。

对于从oyunSayisi()返回的每六个项目,您希望创建一个表行,显示来自oyunCek()的数据。问题是,第一个模数只是输出<tr>,然后行运行foreach循环。最后,第二个模数输出</tr>。我想你应该把所有的东西都组合成一个模数,就像这样:

for($i = 0; $i < $db->oyunSayisi(); $i++)
{ 
    if ($i % 6 == 0)
    {
        echo "<tr><br/>n";
        foreach($db->oyunCek() as $oyun)
        {
            ?>
            <td width="224" height="115"><a href="<?=$db->siteAdres()?>/oyun.php?id=<?=$oyun['o_id']?>" title="<?=$oyun['o_baslik']?> oyna"><img height="115;110" src="<?=$db->siteAdres()?>/resimler/<?=$oyun['o_resim']?>" title="<?=$oyun['o_baslik']?> oyna" alt="<?=$oyun['o_baslik']?> oyna" /></a></td>
            <?php
        }
        echo "</tr>n";
    }
} 
编辑:

进一步考虑后,您想要每第六行回显数据是没有意义的…所以它发生在我,你可能试图创建一个新的表行每第六行,而不是跳过任何内部foreach循环。下面是修改后的代码:

echo "<tr>n";
for($i = 0; $i < $db->oyunSayisi(); $i++)
{
    foreach($db->oyunCek() as $oyun)
    {
        ?>
        <td width="224" height="115"><a href="<?=$db->siteAdres()?>/oyun.php?id=<?=$oyun['o_id']?>" title="<?=$oyun['o_baslik']?> oyna"><img height="115;110" src="<?=$db->siteAdres()?>/resimler/<?=$oyun['o_resim']?>" title="<?=$oyun['o_baslik']?> oyna" alt="<?=$oyun['o_baslik']?> oyna" /></a></td>
        <?php
    }
    if (($i + 1) % 6 == 0)
    {
        echo "</tr>n<tr>n";
    }
} 

最新更新