我有这个代码用于从mysql打印多列表
$k="<table width='100%' border='0' cellpadding='5'><tr>";
$h=mysql_query("select * from news order by id desc limit 0,12");
$col=0;
while($row=mysql_fetch_assoc($h)){
$col++;
$k .="
<td>
Text here
</td>
";
if($col==3){
$k .="</tr><tr>";
$col=0;
}
}
$k .="</tr></table>";
echo $k;
我想在此表中添加一个随机单元格,例如广告代码,我希望每列显示一次广告代码。
输出应该是这样的
<table border="1" width="100%">
<tr>
<td>Title :$row[name]</td>
<td>ADV Code1</td>
<td>Title :$row[name]</td>
</tr>
<tr>
<td>ADV Code2</td>
<td>Title :$row[name]</td>
<td>Title :$row[name]</td>
</tr>
<tr>
<td>Title :$row[name]</td>
<td>Title :$row[name]</td>
<td>ADV Code3</td>
</tr>
<tr>
<td>ADV Code4</td>
<td>Title :$row[name]</td>
<td>Title :$row[name]</td>
</tr>
</table>
我该怎么做?
此致 松树的
答案 0 :(得分:0)
使用rand(0,2),它会给你一个0到2之间的随机数。只要有一个新行,你就会创建一个随机数,比如
$next_ad_col = rand(0,2);
由于你在计算$ col中的列,你可以去
if($col == $next_ad_col) {
// Add ad
} else {
$k .="<td>Text here</td>";
}
然后,如果创建了一个新行(以及循环之前),则分配一个新的随机数:
if($col==3){
$next_ad_col = rand(0,2);
..
或类似的东西。