PHP在每4条记录后的循环中添加<div“style =”clear“> </div>

时间:2013-12-24 22:50:19

标签: php html css

要正确设置页面样式,我需要在循环中的每4条记录后添加<div style="clear:both"></div>

目前,每个记录都输出到一个php文件中,并显示在<div>中,如下所示。

<div>content</div> 

在每4条记录中,我想添加一个明确的<div>,如下所示:

<div>content</div>
<div style="clear:both"></div>

3 个答案:

答案 0 :(得分:10)

使用模数

$i = 1;
while ($row = mysql_fetch_array($result) {
    echo '<div>'.$row.'</div>';
    if (($i++ % 4) == 0) echo '<div style="clear:both;"></div>';
}

您不应该使用mysql,因为它已被弃用。相反,请使用MySQLiPDO

答案 1 :(得分:2)

将此添加到循环体应该做的伎俩

if ($i != 0 && $i % 4 == 0) 
  //Output clear div here

答案 2 :(得分:1)

我建议您也使用CSS,例如:

<强> CSS

<style type="text/css">
    .normaldiv {
        /* other stuff here */
    }
    .cleardiv {
        clear: both;
    }
</style>

<强> PHP

$array = array(
    'data1',
    'data2',
    'data3',
    ...
    'datan'
);

$html = '';

foreach ($array as $i => $data) {
    // Add class "normaldiv" or "normaldiv cleardiv"
    $html .= '<div class="normaldiv' . ( $i%4 == 3 ? ' cleardiv' : '' ) . '">' . $data . '</div>';
}

// Do anything with your html string
echo $html;

也许你需要根据自己的需要调整它(例如在foreach中使用if子句,如果你想在没有css类的情况下创建一个空div“normaldiv”)。