在MongoDB中将文档的子数组显示为php中的表

时间:2018-06-01 06:20:07

标签: php arrays mongodb


我正在使用MongoDB作为数据库开发PHP的Web应用程序。

目前我在MongoDB数据库中有以下文档。

{
  _id : 1,
  name:"Rahul",
  STD:"10th",
  marks:[
    {
        subject:"English",
        mark_secured:"75",
        Grade:"B+"
    },
    {
        subject:"Science",
        mark_secured:"84",
        Grade:"A"
    },
    {
        subject:"Mathematics",
        mark_secured:"65",
        Grade:"B"
    }
  ]
},
{
  _id : 2,
  name:"James",
  STD:"9th",
  marks:[
    {
        subject:"English",
        mark_secured:"83",
        Grade:"A"
    },
    {
        subject:"Science",
        mark_secured:"94",
        Grade:"A+"
    },
    {
        subject:"Mathematics",
        mark_secured:"78",
        Grade:"B+"
    }
 ]
}


数据库名称:学生
收藏品名称:stdMark

我已将学生和班级的名字列为表格中的超链接。当我点击任何学生时,我想在另一页中以下列格式列出学生的表格。

||=======================================||
|| Subject      | Mark Secured  | Grade  ||
||--------------|---------------|--------||
|| English      | 83            | A      ||
|| Science      | 94            | A+     ||
|| Mathematics  | 78            | B+     ||
||=======================================||

请帮我提取并显示子数组值,并以PHP格式以表格格式显示。

1 个答案:

答案 0 :(得分:0)

Try this:  

$ id = $ _GET ['student_id']

$cursor = Student.stdMark.find({_id : $id})

$studentData = array();

foreach($cursor as $row){

   foreach($row->marks as $item){
    $result = array();
    $result ['subject'] = $item->subject;

    $result ['mark_secured']  = $item->mark_secured;

    $result ['Grade']     = $item->Grade;

    $studentData[] = $result; 
  }

  }

  echo json_encode($studentData);