html-php回显行反复(表反向)

时间:2018-09-07 14:06:23

标签: php

我试图像这样在表中回显一些数据

<table>
    <tbody>
        <tr>
            <th> Subject </th
            <th> <?php echo $row["sub"] ?> </th>
        </tr>
        <tr>
            <td>Rate 1</td>
            <td><?php echo $row["rating1"]?></td>
        </tr>
        <tr>
            <td>Rate 2</td>
            <td><?php echo $row["rating2"]?></td>
        </tr>
    </tbody>
</table>

输出:

Subject  |  Math
Rate 1   |  5
Rate 2   |  5
Subject  |  English
Rate 1   |  5
Rate 2   |  5

我想要这个

Subject  | Math | English
Rate 1   |  5   |  5
Rate 2   |  5   |  5

2 个答案:

答案 0 :(得分:0)

尝试以下代码,它将为您提供帮助。

<table>
<tbody>
 <tr>
   <th> Subject </th>
   <?php
   foreach($result as $row)
   {
    echo '<th>'.$row["sub"].'</th>';
   }
   ?>
 </tr>
 <tr>
    <td>Rate1</td>
    <?php
    foreach($result as $row)
    {
        echo '<td>'.$row["rating1"].'</td>';
    }
    ?>
 </tr>
 <tr>
    <td>Rate2</td>
    <?php
    foreach($result as $row)
    {
        echo '<td>'.$row["rating2"].'</td>';
    }
    ?>
 </tr>
</tbody>
</table>

答案 1 :(得分:0)

首先将您的数据放在一起,然后输出:

$sub=[];
$rate1=[];
$rate2=[];

foreach($result as $row){
  $sub[]  =$row['sub'];
  $rate1[]=$row['rate1'];
  $rate2[]=$row['rate2'];
}

然后您可以输出:

echo '<tr> <td> '.implode('</td><td>', $sub ).' </td><tr> ';
echo '<tr> <td> '.implode('</td><td>', $rate1 ).' </td><tr> ';
echo '<tr> <td> '.implode('</td><td>', $rate2 ).' </td><tr> ';