проблема в показе 3 изображения подряд - PullRequest
2 голосов
/ 03 февраля 2010

Эй, ребята, я знаю, что это глупый вопрос, но я завис в решении этого

Я написал блок кода PHP, чтобы показать изображения из MySQL

    echo "<table><tr> ";

    while($cat = $db->sql_fetchrow($catinfo)) {
        echo '
        <td>
        <ul id="three-col" class="press">   
        <li>
    <div class="post-content">
    <a class="zoom1" href="'.$galsettings[setImgDir].'/'.$cat[galCatLocation].'/'.$cat[galCatImg].'">
    <img src="'.$galsettings[setImgDir].'/'.$cat[galCatLocation].'/'.$cat[galCatImg].'" alt="artistry (via powerbooktrance)" />
    </a>
    </div>';

    for ($i=0; $i>2; $i++) {
    echo "</tr><tr>";
    }
    }

echo "</li></ul></td></tr></table>";

но с этим кодом все идет не так и не ломается после каждых 3 изображений в строке

я даже использовал

if ($i>2) {
    echo "</td></tr><tr>";
}

но, как вы знаете, он прерывает tr только после номера изображения 3, а не в каждой строке

мне очень жаль за мой глупый вопрос

Ответы [ 3 ]

2 голосов
/ 03 февраля 2010

Попробуйте это:

echo "<table><tr> ";

$counter = 0;

while($cat = $db->sql_fetchrow($catinfo)) {

    $counter++;

    echo '
    <td>
    <ul id="three-col" class="press">   
    <li>
    <div class="post-content">
    <a class="zoom1" href="'.$galsettings[setImgDir].'/'.$cat[galCatLocation].'/'.$cat[galCatImg].'">
    <img src="'.$galsettings[setImgDir].'/'.$cat[galCatLocation].'/'.$cat[galCatImg].'" alt="artistry (via powerbooktrance)" />
    </a>
    </div>
    ';

    if ( $counter == 3 ) {

        echo '</tr><tr>';

        $counter = 0;
    }

}

echo "</li></ul></td></tr></table>";
2 голосов
/ 03 февраля 2010

Во-первых,

  for ($i=0; $i>2; $i++) {

должно быть

for ($i=0; $i < 2; $i++) {

Могут быть дополнительные проблемы с логикой (глядя) ...

Действительно, логика кажется совершенно ошибочной, например. там, кажется, нет ничего, что обнаруживает третье изображение и т.д ...

==> Предлагаю попробовать фрагмент из ответа тамблера. Нет смысла пытаться исправить это ... но если вы должны:

  • цикл for ($i=0; $i>2; $i++) { не нужен. Даже если зафиксировано значение $ i <2 (или 3 ...), это не поможет. </li>
  • с каждым новым изображением, которое вы выводите <td>, его необходимо закрыть с помощью </td>
  • должен быть счетчик ($ i), на который вы намекаете в своем фрагменте, недействителен
  • счетчик должен систематически увеличиваться с каждым изображением
  • тест должен быть добавлен к концу цикла:
    Если counter> = 3 (или 2, если вы сделаете это на основе 0) сбросить счетчик; испускать ""
  • Кроме того, <ul> и <li> и их соответствующие закрывающие теги не на месте.
0 голосов
/ 03 февраля 2010

Где вы </td> тег?

Все ваши TD должны быть внутри TR. Вы должны закрыть UL и TD до своего TR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...