某年级有16个班级,现在需要用MySQL5.0求出各班从450-600分各分数段的累积人数。说明:[510,520)为一个分数段区间,含510分,但不含520分;其余类推。可以分多步计算,可借助PHP5.2的数组和循环等,只要能够得出最终的累积人数即可。恳请各位高手出手相助,谢了先~~~~~~

解决方案 »

  1.   

    请问:用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>";
    ?>
      

  2.   

    在你那个帖子已经回答你了..把data数组拼出来就行了,不要告诉我你不会!
      

  3.   

    <?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]:'&nbsp;';
            echo "<td>$td</td>";
        }
        echo "</tr>\r\n";
    }
    echo "</table>";?>
    $test=0; 看看你程序的对不对,首先没明白你的程序的意思,但是我看到你的table而拼的$data,
    应该是对的.