проблема с листингом. вложенные циклы? - PullRequest
0 голосов
/ 07 июля 2011

Я здесь, чтобы открывать новую строку после каждых 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>";
    }
} 

1 Ответ

0 голосов
/ 07 июля 2011

Я думаю, что вижу причину проблемы.

Для каждого шестого элемента, возвращаемого из 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";
    }
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...