<div class="row">
<?php
$r=mysql_query("SELECT * FROM advertisements WHERE $filter exposure!='0' AND `status`='2' AND (clicks_left_micro>0 OR clicks_left_mini>0 OR clicks_left_standard>0 OR clicks_left_extended>0) ORDER BY exposure DESC");
while($ar=mysql_fetch_array($r)):
echo "<div class='span4'> text here text here</div>";
endwhile;
?>
</div>
正如您在$r
查询中看到的那样,我按exposure
排序。曝光字段可以包含来自 1-3
的数字。我正在尝试做的是为每个暴露数字创建一个新行。例:
曝光率 = 1 的广告将位于第一行
在此之下,将是曝光率 = 2
的广告最后,会有曝光率= 3
现在的情况是,广告/span4div 只是彼此相邻地呼应。我想在 while 循环中对它们进行排序<div class='row'></div>
像这样的事情呢:
<div class="row">
<?php
$r=mysql_query("SELECT * FROM advertisements WHERE $filter exposure!='0' AND `status`='2' AND (clicks_left_micro>0 OR clicks_left_mini>0 OR clicks_left_standard>0 OR clicks_left_extended>0) ORDER BY exposure DESC");
$row1 = '';
$row2 = '';
$row3 = '';
while($ar=mysql_fetch_array($r)):
if($ar['exposure'] == 1)
$row1 .= '<span>Your code here for row 1</span>';
else if($ar['exposure'] == 2)
$row2 .= '<span>Your code here for row 2</span>';
else if($ar['exposure'] == 3)
$row3 .= '<span>Your code here for row 3</span>';
endwhile;
?>
<table>
<tr>
<td><?php echo $row1; ?></td>
<td><?php echo $row2; ?></td>
<td><?php echo $row3; ?></td>
</tr>
</table>
</div>
当然,您必须根据需要进行调整,但这就是想法。
编辑:正如其他人所注意到的那样,您不应该再使用mysql_*功能。
由于它们是按曝光排序的,因此您可以简单地执行以下操作:
$curExpo = null;
while( ... ) {
if( $curExpo !== $row['exposure']) {
create new row
$curExpo = $row['exposure'];
}
}