而循环产生奇怪的div行为

时间:2012-12-31 03:42:15

标签: php html css while-loop

我在我的网站上运行了以下代码。这样做是为了显示项目2乘2,每次获得偶数时都会换行。

这都在DIV中:

while($info = $items->fetch(PDO::FETCH_ASSOC)) 
{
echo "<div name='item' id='".$info['color_base1']."' class='itemBox'>
<div class='showItem'><a href='items_descr.php?itemId=".$info[id_item]."'>
<img class='itemImage' alt='' src='images/$info[imageMid].jpg'></img></div></div><br />";
echo "<div class='indexItemText'><font class='similarItemsText'>
<a href='items_descr.php?itemId=".$info[id_item]."'>".$info[name]."</a>
<font class='price'> - $".$info[price]."</div>";
$row_count++;
if ($row_count % 2 == 0) 
    {
echo "<br />"; // close the row if we're on an even record
    }

}

问题是我生成的CSS做了一些奇怪的事情。它为前两个项目创建了div,然后它为以下项目创建了标签,以至于它们从容器div中出来,应该加载它们......

知道为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

请试试这个: -

$html = '';
while($info = $items->fetch(PDO::FETCH_ASSOC)) 
{
    $html.= "<div name='item' id='".$info['color_base1']."' class='itemBox'>
     <div class='showItem'><a href='items_descr.php?itemId=".$info['id_item']."'>
     <img class='itemImage' alt='' src='images/".$info['imageMid'].".jpg' /></div> </div><br />";

    $html.= "<div class='indexItemText'><font class='similarItemsText'>
       <a href='items_descr.php?itemId=".$info['id_item']."'>".$info['name']."</a></font>
       <font class='price'> -$".$info['price']." </font></div>";  

   $row_count++;
   if ($row_count % 2 == 0) 
    {
      $html.= "<br />"; // close the row if we're on an even record
    }
}
 echo $html;