【问题标题】:Remove <HR> from first loop entry从第一个循环条目中删除 <HR>
【发布时间】:2011-12-16 10:51:17
【问题描述】:

我有这个简单的循环:

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>';
}
?>

&lt;HR&gt; 以非常奇怪的方式出现。水平线也出现在循环的开头,这是不应该发生的,因为我需要除了第一个循环条目之外的所有内容来包含&lt;HR&gt;。我试图尽可能清楚,希望我是。如果有任何方法可以帮助我,请这样做:)。

谢谢

【问题讨论】:

  • 你不应该在表格中注入 hr 标签

标签: php html arrays foreach


【解决方案1】:

你必须这样做

     $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

【讨论】:

  • 你不应该在表格中注入 hr 标签
  • 我很快就写了那个答案,我还没有看到桌子还没有关闭……复制粘贴……我的错
  • 希望能理解请求
【解决方案2】:

&lt;HR&gt; 标签放错了位置。如果表格中有&lt;td&gt;标签之外的任何内容,则会显示在表格顶部。

如果你想要&lt;HR&gt; 效果,请为div 设置底部边框或在表格后面放置&lt;HR&gt; 标签。

【讨论】:

    【解决方案3】:
    foreach ($links 作为 $link) { 回声'
    '; 回声''; echo ''; echo ' 直接: '; echo ''; 回声''; 回声''; 回声'

    '; 回声'
    '; 回声'
    '; }

    【讨论】:

      【解决方案4】:

      我会使用计数器,因为这样您就可以将计数器用于其他事情以及测试以查看我们是哪一个迭代。例如,每 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.
      }
      ?>
      

      【讨论】:

        【解决方案5】:
        $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>';
        }
        ?>
        

        这只会隐藏 hr 行一次。

        【讨论】:

        • 你不应该在表格中注入 hr 标签
        猜你喜欢
        • 2013-10-08
        • 2019-07-10
        • 2017-03-26
        • 2020-03-10
        • 2015-10-07
        • 1970-01-01
        • 1970-01-01
        • 2020-06-19
        • 2023-03-10
        相关资源
        最近更新 更多