如何从moodle数据库输出HTML表中的记录?

如何从moodle数据库输出HTML表中的记录?,moodle,Moodle,我想在HTML表中显示moodle数据库中的数据,但对于每个记录,都会显示单独的表: 代码: $rec=$DB->get_records\u sql('SELECT*FROM`mdl_schedules`); $table=新的html_table(); $table->head=array('Date','Time','A','B','C','D','E','F'); foreach($rec as$记录){ $id=$records->id; $scheduledate=$records->

我想在HTML表中显示moodle数据库中的数据,但对于每个记录,都会显示单独的表:

代码:

$rec=$DB->get_records\u sql('SELECT*FROM`mdl_schedules`);
$table=新的html_table();
$table->head=array('Date','Time','A','B','C','D','E','F');
foreach($rec as$记录){
$id=$records->id;
$scheduledate=$records->scheduledate;
$scheduletime=$records->scheduletime;
$session=$records->s;
$VICENT=$records->v;
$trainer=$records->t;
$category=$records->c;
$course=$records->course;
$link=$records->link;
$table->data=array(数组($ScheduleDate,$scheduletime,$a,$b,$c,$d,$e,);
echo html_writer::table($table);
}

任何参考或帮助都将不胜感激。

回音应在环路之外:)

但是您可能希望使用
灵活的_table
,这样您就可以使用分页了


查看/admin/localplugins.php中的示例。

回音应该在循环之外:)

但是您可能希望使用
灵活的_table
,这样您就可以使用分页了


请查看/admin/localplugins.php中的示例。

我知道这很旧,但您只获得一条记录的原因是您没有添加到
$table->data
数组中。这是您想要的代码:

$rec=$DB->get_records('schedules');
$table = new html_table();
$table->head = array('Date','Time', 'A' , 'B', 'C','D', 'E', 'F');
foreach ($rec as $records) {
    $id = $records->id;
    $scheduledatet = $records->scheduledate;
    $scheduletime = $records->scheduletime;
    $session = $records->s;
    $venue = $records->v;
    $trainer = $records->t;
    $category = $records->c;
    $course = $records->course;
    $link = $records->link;
    $table->data[] = array($scheduledatet, $scheduletime, $a,$b,$c,$d,$e,'<a href="'.$link.'">View</a>');
}

echo html_writer::table($table);
$rec=$DB->get_记录('schedules');
$table=新的html_table();
$table->head=array('Date','Time','A','B','C','D','E','F');
foreach($rec as$记录){
$id=$records->id;
$scheduledate=$records->scheduledate;
$scheduletime=$records->scheduletime;
$session=$records->s;
$VICENT=$records->v;
$trainer=$records->t;
$category=$records->c;
$course=$records->course;
$link=$records->link;
$table->data[]=array($ScheduleDate,$scheduletime,$a,$b,$c,$d,$e,”);
}
echo html_writer::table($table);

我也把你的问题改了一点。如果您只是从一个表中获取所有记录,
$DB->get_records('table_NAME_,不带_前缀')
是一种方法。

我知道这很旧,但您只得到一条记录的原因是您没有添加到
$table->data
数组中。这是您想要的代码:

$rec=$DB->get_records('schedules');
$table = new html_table();
$table->head = array('Date','Time', 'A' , 'B', 'C','D', 'E', 'F');
foreach ($rec as $records) {
    $id = $records->id;
    $scheduledatet = $records->scheduledate;
    $scheduletime = $records->scheduletime;
    $session = $records->s;
    $venue = $records->v;
    $trainer = $records->t;
    $category = $records->c;
    $course = $records->course;
    $link = $records->link;
    $table->data[] = array($scheduledatet, $scheduletime, $a,$b,$c,$d,$e,'<a href="'.$link.'">View</a>');
}

echo html_writer::table($table);
$rec=$DB->get_记录('schedules');
$table=新的html_table();
$table->head=array('Date','Time','A','B','C','D','E','F');
foreach($rec as$记录){
$id=$records->id;
$scheduledate=$records->scheduledate;
$scheduletime=$records->scheduletime;
$session=$records->s;
$VICENT=$records->v;
$trainer=$records->t;
$category=$records->c;
$course=$records->course;
$link=$records->link;
$table->data[]=array($ScheduleDate,$scheduletime,$a,$b,$c,$d,$e,”);
}
echo html_writer::table($table);

我也把你的问题改了一点。如果您只是从一个表中获取所有记录,
$DB->get_records('table_NAME_,不带_前缀')是一种方法。

通过放置echo html_writer::table($table);外部循环显示单个记录;外循环显示单记录。谢谢@Doyle Lewis。我也需要你在multi-select上的帮助,谢谢@Doyle Lewis。我也需要你在multi-select上的帮助
$rec=$DB->get_records('schedules');
$table = new html_table();
$table->head = array('Date','Time', 'A' , 'B', 'C','D', 'E', 'F');
foreach ($rec as $records) {
    $id = $records->id;
    $scheduledatet = $records->scheduledate;
    $scheduletime = $records->scheduletime;
    $session = $records->s;
    $venue = $records->v;
    $trainer = $records->t;
    $category = $records->c;
    $course = $records->course;
    $link = $records->link;
    $table->data[] = array($scheduledatet, $scheduletime, $a,$b,$c,$d,$e,'<a href="'.$link.'">View</a>');
}

echo html_writer::table($table);