Удалить <HR>из первой записи цикла - PullRequest
2 голосов
/ 16 декабря 2011

У меня есть этот простой цикл:

foreach ($links as $link)
{   
    echo '<div>';
        echo '<table>';

        echo '<tr><td class="fullwidth"><a class="preview_img" href="' . $link . '"><img src="' . $link . '" title="Click to enlarge" width="300" class="thumb" /></a></td></tr>';

        echo '<tr><td><span class="default">Direct:</span>&nbsp;';
        echo '<input type="text" readonly="readonly" class="link-area" onmouseover="this.select();" value="' . $link . '" />'; 
        echo '</td></tr>';

        echo '<hr /><br>';
        echo '</table>';
        echo '<br>';
    echo '</div>';
}
?>

И <HR> появляется довольно странным образом.Горизонтальная линия также отображается в начале цикла, чего не должно происходить, потому что мне нужно ВСЕ, кроме первой записи цикла, чтобы включить <HR>.Я старался быть максимально ясным, надеюсь, я был.Если есть какой-то способ помочь мне, пожалуйста, сделайте это:).

Спасибо

Ответы [ 5 ]

2 голосов
/ 16 декабря 2011

Тег <HR> находится не в том месте. Если в таблице есть содержимое из тега <td>, оно будет отображаться в верхней части таблицы.

Если вы хотите, чтобы эффект <HR> имел нижнюю границу для div или поместите тег <HR> после таблицы.

2 голосов
/ 16 декабря 2011

Вы должны сделать

     $flag = false;
     foreach ($links as $link)
    {   
        if ($flag)
             echo '<div class='line'>';
        else
            echo '<div>';
            echo '<table>';
           echo '<tr>';
          echo '<td class="fullwidth"><a class="preview_img" href="' . $link . '"><img src="' . $link . '" title="Click to enlarge" width="300" class="thumb" /></a></td>'
  echo '</tr>';
           echo '<tr>';
             echo '<td><span class="default">Direct:</span>&nbsp;';
             echo '<input type="text" readonly="readonly" class="link-area" onmouseover="this.select();" value="' . $link . '" />'; 
            echo '</td></tr>';
            echo '</table>';
        echo '</div>';
      $flag=true;
    }
    ?>

С помощью class = 'line' вы можете управлять границей и расстоянием между div без использования hr и br

0 голосов
/ 16 декабря 2011

Я бы использовал счетчик, потому что тогда вы можете использовать счетчик для других целей, а также для проверки того, какая мы итерация.Например, каждые 5 итераций добавляйте пустую строку для проставки или чего-либо еще.

$counter = 0;          // Set the counter outside the foreach
foreach ($links as $link)
{   
    echo '<div>';
    echo '<table>';
    echo '<tr><td class="fullwidth"><a class="preview_img" href="' . $link . '"><img src="' . $link . '" title="Click to enlarge" width="300" class="thumb" /></a></td></tr>';
    echo '<tr><td><span class="default">Direct:</span>&nbsp;';
    echo '<input type="text" readonly="readonly" class="link-area" onmouseover="this.select();" value="' . $link . '" />'; 
    echo '</td></tr>';

    if($counter == 0) // You can use this counter to test for other things
    {
        echo '<hr /><br>';
    }

    echo '</table>';
    echo '<br>';
    echo '</div>';

    $counter++;       // Increment the counter by one.
}
?>
0 голосов
/ 16 декабря 2011
<pre>
foreach ($links as $link)
{   
    echo '<div>';
        echo '<table>';

        echo '<tr><td class="fullwidth"><a class="preview_img" href="' . $link . '"><img src="' . $link . '" title="Click to enlarge" width="300" class="thumb" /></a></td></tr>';

        echo '<tr><td><span class="default">Direct:</span> ';
        echo '<input type="text" readonly="readonly" class="link-area" onmouseover="this.select();" value="' . $link . '" />'; 
        echo '</td></tr>';


        echo '</table>';
echo '<hr /><br>';
        echo '<br>';
    echo '</div>';
}

0 голосов
/ 16 декабря 2011
$showHR = false;
foreach ($links as $link)
{   
    echo '<div>';
        echo '<table>';

        echo '<tr><td class="fullwidth"><a class="preview_img" href="' . $link . '"><img src="' . $link . '" title="Click to enlarge" width="300" class="thumb" /></a></td></tr>';

        echo '<tr><td><span class="default">Direct:</span>&nbsp;';
        echo '<input type="text" readonly="readonly" class="link-area" onmouseover="this.select();" value="' . $link . '" />'; 
        echo '</td></tr>';
        if(!$showHR){

         $showHR = true;
        } else {
         echo '<hr /><br>';
         }

        echo '</table>';
        echo '<br>';
    echo '</div>';
}
?>

Эта строка будет скрыта только один раз.

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