请问:用php该怎么把求出的数据按照一定的格式显示出来呢?想要的显示效果: 现在的输出:<?php include 'config.inc.php'; $connection = mysql_connect($hostname, $dbusername, $dbpassword); mysql_select_db($database);$query = "select bj,zf div 10,count(*) from mytable where zf>=450 and zf<500 group by bj,zf div 10 order by bj asc,zf desc";//我觉得用降序排列好取值一些 $result = mysql_query($query); echo "<table border=1>"; echo "<tr><td>班级</td><td>分数</td><td>人数</td><td>累计</td><tr>"; while ($myrow = mysql_fetch_row($result)) { for ($m=1;$m<23;$m++){ if ($myrow[0]==$m){ $b[$m] = $b[$m] + $myrow[2]; echo "<tr><td>$myrow[0]</td><td>$myrow[1]</td><td>$myrow[2]</td><td>$b[$m]</td><tr>"; } } } echo "</table>"; ?>
在你那个帖子已经回答你了..把data数组拼出来就行了,不要告诉我你不会!
<?php$test=1; $data=array();if($test){ $data=array( array('bj'=>'1','fs'=>'49','rs'=>'2','leiji'=>'2'), array('bj'=>'1','fs'=>'48','rs'=>'1','leiji'=>'3'), array('bj'=>'10','fs'=>'49','rs'=>'8','leiji'=>'8'), array('bj'=>'10','fs'=>'48','rs'=>'3','leiji'=>'11'), array('bj'=>'10','fs'=>'47','rs'=>'2','leiji'=>'13'), array('bj'=>'10','fs'=>'46','rs'=>'4','leiji'=>'17'), array('bj'=>'10','fs'=>'45','rs'=>'4','leiji'=>'21'), ); }else{ include 'config.inc.php'; $connection = mysql_connect($hostname, $dbusername, $dbpassword); mysql_select_db($database); $query = "select bj,zf div 10,count(*) from mytable where zf>=450 and zf<500 group by bj,zf div 10 order by bj asc,zf desc";//我觉得用降序排列好取值一些 $result = mysql_query($query); $i=0; while ($myrow = mysql_fetch_row($result)) { for ($m=1;$m<23;$m++){ if ($myrow[0]==$m){ $b[$m] = $b[$m] + $myrow[2]; $temp[bj]=$myrow[0]; $temp[fs]=$myrow[1]; $temp[rs]=$myrow[2]; $temp[leiji]=$b[$m]; $data[]=$temp; } } } } $bj=array(); foreach($data as $item){ $bj[$item[bj]][$item[fs]]=$item; }echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'> <table border=1>"; echo "<tr>"; echo "<td></td>"; echo "<td>最高分</td>"; for($i=60;$i>=45;$i--){ echo "<td>{$i}0</td>"; } echo "</tr>\r\n"; $header=false;foreach($bj as $k=>$item){ echo "<tr>"; echo "<td>高一($k)</td>"; echo "<td>xxx</td>"; for($i=60;$i>=45;$i--){ $td=$item[$i][leiji]?$item[$i][leiji]:' '; echo "<td>$td</td>"; } echo "</tr>\r\n"; } echo "</table>";?> $test=0; 看看你程序的对不对,首先没明白你的程序的意思,但是我看到你的table而拼的$data, 应该是对的.
现在的输出:<?php
include 'config.inc.php';
$connection = mysql_connect($hostname, $dbusername, $dbpassword);
mysql_select_db($database);$query = "select bj,zf div 10,count(*) from mytable where zf>=450 and zf<500 group by bj,zf div 10 order by bj asc,zf desc";//我觉得用降序排列好取值一些
$result = mysql_query($query);
echo "<table border=1>";
echo "<tr><td>班级</td><td>分数</td><td>人数</td><td>累计</td><tr>";
while ($myrow = mysql_fetch_row($result)) {
for ($m=1;$m<23;$m++){
if ($myrow[0]==$m){
$b[$m] = $b[$m] + $myrow[2];
echo "<tr><td>$myrow[0]</td><td>$myrow[1]</td><td>$myrow[2]</td><td>$b[$m]</td><tr>";
}
}
}
echo "</table>";
?>
$data=array();if($test){
$data=array(
array('bj'=>'1','fs'=>'49','rs'=>'2','leiji'=>'2'),
array('bj'=>'1','fs'=>'48','rs'=>'1','leiji'=>'3'),
array('bj'=>'10','fs'=>'49','rs'=>'8','leiji'=>'8'),
array('bj'=>'10','fs'=>'48','rs'=>'3','leiji'=>'11'),
array('bj'=>'10','fs'=>'47','rs'=>'2','leiji'=>'13'),
array('bj'=>'10','fs'=>'46','rs'=>'4','leiji'=>'17'),
array('bj'=>'10','fs'=>'45','rs'=>'4','leiji'=>'21'),
);
}else{
include 'config.inc.php';
$connection = mysql_connect($hostname, $dbusername, $dbpassword);
mysql_select_db($database); $query = "select bj,zf div 10,count(*) from mytable where zf>=450 and zf<500 group by bj,zf div 10 order by bj asc,zf desc";//我觉得用降序排列好取值一些
$result = mysql_query($query);
$i=0;
while ($myrow = mysql_fetch_row($result)) {
for ($m=1;$m<23;$m++){
if ($myrow[0]==$m){
$b[$m] = $b[$m] + $myrow[2];
$temp[bj]=$myrow[0];
$temp[fs]=$myrow[1];
$temp[rs]=$myrow[2];
$temp[leiji]=$b[$m];
$data[]=$temp;
}
}
}
}
$bj=array();
foreach($data as $item){
$bj[$item[bj]][$item[fs]]=$item;
}echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<table border=1>";
echo "<tr>";
echo "<td></td>";
echo "<td>最高分</td>";
for($i=60;$i>=45;$i--){
echo "<td>{$i}0</td>";
}
echo "</tr>\r\n";
$header=false;foreach($bj as $k=>$item){
echo "<tr>";
echo "<td>高一($k)</td>";
echo "<td>xxx</td>";
for($i=60;$i>=45;$i--){
$td=$item[$i][leiji]?$item[$i][leiji]:' ';
echo "<td>$td</td>";
}
echo "</tr>\r\n";
}
echo "</table>";?>
$test=0; 看看你程序的对不对,首先没明白你的程序的意思,但是我看到你的table而拼的$data,
应该是对的.