情况是要做一个页面,输出数据库的销售记录,卖出3件以上的显示绿色,3件以下白色。
这个功能已经实现了,代码:
<?php
$conn = mysql_connect('127.0.0.1:8889', 'root', 'root');
mysql_select_db('chanping', $conn);
$sql="select * from xiaoshou";
$r = mysql_query($sql);
?>
<?php
while($rs = mysql_fetch_assoc($r))
{
if($rs["count"] >= "3")
{
echo ("<tr bgcolor=green>");
}else{
echo ("<tr bgcolor=white>");
}
?>
<tr>
<td><?php echo $rs["xinghao"];?></td><td><?php echo $rs["count"];?></td>
</tr>
<?php
}
echo ("</table>");
?>
这个是每条记录为一行,垂直显示的。
在这个基础上,希望HTML页面以每3段完整记录(型号和count)为一行历遍下去,网上找了段代码如下:
<?php
$a = array (1,2,3,4,5,6,7,8,9,10,11);
$i = 0;
?>
<table border=1>
<tr>
<?
foreach ($a as $k){
if($i%3==0) {//该处表示需要横向排列的列数.
echo "</tr><tr>";
}
echo "<td>",$k,"</td>";//该处显示该列的数据.
$i ++;
}
?>
这两段代码怎么结合起来啊?
能让网页按如下显示
xinghao1 count xinghao2 count xinghao3 count
xinghao4 count xinghao5 count xinghao6 count
xinghao7 count xinghao8 count xinghao9 count
试了很多都不成功 ,求大神帮助!不胜感激!
------解决思路----------------------
<?php
$conn = mysql_connect('127.0.0.1:8889', 'root', 'root');
mysql_select_db('chanping', $conn);
$sql="select * from xiaoshou";
$r = mysql_query($sql);
?>
<table>
<?php
$index = 1;
while($rs = mysql_fetch_assoc($r))
{
if($index%3==1) echo('<tr>');
if($rs["count"] >= "3")
{
echo ("<td bgcolor=green>");
}else{
echo ("<td bgcolor=white>");
}
?>
<?php echo $rs["xinghao"];?></td><td><?php echo $rs["count"];?></td>
<?php
if($index%3==0) echo('</tr>');
$index++;
}
--$index
if($index%3!=0) echo('</tr>');
?>
</table>
代码没试过,思路应该是这样
------解决思路----------------------
<?php
$conn = mysql_connect('127.0.0.1:8889', 'root', 'root');
mysql_select_db('chanping', $conn);
$sql="select * from xiaoshou";
$r = mysql_query($sql);
?>
<?php
echo "<table>";
$k=1;
while($rs = mysql_fetch_assoc($r))
{
$color=$rs["count"] >= "3"?"green":"white";
echo $k%3==1?"<tr>":"";
?>
<td bgcolor="<?php echo $color;?>"><?php echo $rs["xinghao"];?></td>
<td bgcolor="<?php echo $color;?>"><?php echo $rs["count"];?></td>
<?php
echo $k%3==0?"</tr>":"";
$k++;
}
echo "</table>";
?>