如何以垂直方式显示表中数组的数据

I want to create a table for seating arrangements of students according to roll number in this format(vertical)

Row 1  Row 2 Row 3 Row 4

a       e      i     m

b       f      j     n

c       g      k     o

d       h      l     p

where number of rows and colums of the table can be different depending on the variables $rows and $cols

    $sql= "SELECT rollno FROM student WHERE batch= '".mysqli_real_escape_string($con, $_POST['batch'])."'";
    $result = mysqli_query($con, $sql);

    if(!$result)
    {

        echo 'Something went wrong. Please try again';

    }
    else
    {
        while($resulrow = mysqli_fetch_assoc($result))
        {
            $array[]=$resultrow['rollno'];
        }   

Now I have $array[], which is having list of roll numbers of students.

I want to display these roll numbers in a table with vertical display and every row should display row number in the table head (top).

This is a possible way of doing it:

$sql = "SELECT col_a, col_b, ... FROM student WHERE batch=?";
$stmt = mysqli_prepare($con, $sql);
mysqli_stmt_bind_param($stmt, 's', $_POST['batch']);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);

$a = array();
$i = 1;
while ($row = mysqli_fetch_assoc($result)) {
    $a['col_a'][$i] = $row['col_a'];
    $a['col_b'][$i] = $row['col_b'];
    // .... other columns
    ++$i;
}
$rows = count($a['col_a']);

Display the table:

<table><thead><tr>
<?php for ($j = 1; $j <= $rows; ++$j) {
    ?><th>Row <?php echo $j; ?></th><?php
} ?>
</tr></thead><tbody>
<?php foreach ($a as $col) {
    ?><tr><?php
    foreach ($col as $row) {
        ?><td><?php echo $row; ?></td><?php
    }
    ?></tr><?php
} ?>
</tbody></table>