duanlanzhi5509 2014-08-10 10:47
浏览 26
已采纳

从MySQL表构建PHP数组

I want to create array from multiple rows. In My table I have Year field, regd field for counting the number of students, and Class field. I want to output the data like below.

$data = array( 
              '2012' => array(
                             'KG_I' => 87,
                             'KG_II' => 80,
                             'I' => 90,
                             'II' => 120,
                             'III' => 100,
                             'IV' => 110,
                             'V' => 98,
             ),
             '2013' => array(
                             'KG_I' => 82,
                             'KG_II' => 84,
                             'I' => 92,
                             'II' => 110,
                             'III' => 120,
                             'IV' => 108,
                             'V' => 90,
             ),
            '2014' => array(
                            'KG_I' => 90,
                            'KG_II' => 83,
                            'I' => 95,
                            'II' => 110,
                            'III' => 120,
                            'IV' => 81,
                            'V' => 95,
            ),
  );

My attempt was like this:

$std=array();
$hms="SELECT COUNT(DISTINCT regd) as stdNum, Class, Year FROM 
      student GROUP by Class";
$quar=mysql_query($hms);
$myarray = array();
while($row = mysql_fetch_array($quar)){
    $myarray[$row['Class']] = $row['stdNum'];
}

I have no idea how I output the Year array.

  • 写回答

3条回答 默认 最新

  • doupu1727 2014-08-10 11:32
    关注

    You opened two arrays which is not necessary. print_r() may come handy when dealing with arrays. Hope this will help.

    $hms="Select Year, Class, COUNT(DISTINCT regd) as stdNum 
          from student group by Year, Class";
    $quar=mysql_query($hms);
    $myArray = array();
    while($row = mysql_fetch_assoc($quar)){
        $mya[$row['Year']][$row['Class']] =  $row['stdNum'];
    }
    echo "<pre>";
    print_r($myArray);
    echo "</pre>";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度