2016-11-28 9 views
1

students_marksという名前の学生名が入ったMYSQLテーブルがあります。以下のサンプル構造。PHPで列の値を変更した後でテーブルのヘッダ/構造を繰り返す方法

Student ID Student Name Subject FA1 Mark FA2 Mark SA1 Mark 
---------- ------------ ------- -------- -------- -------- 
70001   John  English  9   9   8 
70001   John  Language  9   8   8 
70001   John  Maths  8   9   9 
80001   Anna  Computer 8   8   9 
80001   Anna  Scocial  9   7   8 
90001   Mariya  Maths  9   9   8 
90001   Mariya  English  8   8   9 
-------------------------------------------------------------------- 

私は、以下のように、私のPHPのWebページで各学生IDを変更した後で、テーブルのヘッダーまたはテーブルの構造自体を繰り返そうとしています。

-------------------------------------------------------------------- 
Student ID Student Name Subject FA1 Mark FA2 Mark SA1 Mark 
---------- ------------ ------- -------- -------- -------- 
70001   John  English  9   9   8 
70001   John  Language  9   8   8 
70001   John  Maths  8   9   9 
-------------------------------------------------------------------- 

-------------------------------------------------------------------- 
Student ID Student Name Subject FA1 Mark FA2 Mark SA1 Mark 
---------- ------------ ------- -------- -------- -------- 
80001   Anna  Computer 8   8   9 
80001   Anna  Scocial  9   7   8 
-------------------------------------------------------------------- 

-------------------------------------------------------------------- 
Student ID Student Name Subject FA1 Mark FA2 Mark SA1 Mark 
---------- ------------ ------- -------- -------- -------- 
90001   Mariya  Maths  9   9   8 
90001   Mariya  English  8   8   9 
-------------------------------------------------------------------- 

以下のコードを使用すると、上記のサンプル構造で与えられたデータを持つ簡単な通常のhtmlテーブルを取得できました。私の要件に従ってテーブルを取り込むことは可能ですか?私のPHPコードは以下の通りです。

<table> 
    <thead> 
     <tr> 
      <th> 
       Srl No. 
      </th> 
      <th> 
       Student ID 
      </th> 
      <th> 
       Name 
      </th> 
      <th> 
       Subject 
      </th> 
      <th> 
       FA1 Mark 
      </th> 
      <th> 
       FA2 Mark 
      </th> 
      <th> 
       SA1 Mark 
      </th> 
     </tr> 
    </thead> 
    <tbody> 
<?php 

$no = 1; 
while($row = mysqli_fetch_row($clslst)) { 
$id  = $row[0]; 
$sub = $row[1]; 
$name = $row[2]; 
$fa1 = $row[3]; 
$fa2 = $row[4]; 
$sa1 = $row[5]; 
?>          
     <tr> 
      <td> 
       <?php echo $no; ?> 
      </td> 
      <td> 
       <?php echo $id; ?> 
      </td> 
      <td> 
       <?php echo $name; ?> 
      </td> 
      <td> 
       <?php echo $sub; ?> 
      </td> 
      <td> 
       <?php echo $fa1; ?>  
      </td> 
      <td> 
       <?php echo $fa2; ?> 
      </td> 
      <td> 
       <?php echo $fa3; ?> 
      </td> 
      <?php $no++; ?> 
     </tr> 
<?php } ?>          
    </tbody> 
</table> 

答えて

0

私は理解していれば、私はあなたがその

<?php 
// Initialize an id 
$prev_id = 0; 
$is_first = true; 
$no = 1; 

while($row = mysqli_fetch_row($clslst)) { 

     $id  = $row[0]; 
     $sub = $row[1]; 
     $name = $row[2]; 
     $fa1 = $row[3]; 
     $fa2 = $row[4]; 
     $sa1 = $row[5]; 

     // Checks if the id is changed then starts a new table 
     if($prev_id != $id): 
      // Set the new previous id 
      $prev_id = $id; 

      // Adds a closing table if not the first cycle 
      if(!$is_first){ 
      echo " </tbody></table>"; 
      } else { 
      // Next iteration it will add the closing table 
      $is_first = false; 
      } 
     ?> 
     <table> 
    <thead> 
     <tr> 
      <th> 
       Srl No. 
      </th> 
      <th> 
       Student ID 
      </th> 
      <th> 
       Name 
      </th> 
      <th> 
       Subject 
      </th> 
      <th> 
       FA1 Mark 
      </th> 
      <th> 
       FA2 Mark 
      </th> 
      <th> 
       SA1 Mark 
      </th> 
     </tr> 
    </thead> 
    <tbody> 
    <?php 
    else: 
    // Adds the row 
    ?> 
    <tr> 
      <td> 
       <?php echo $no; ?> 
      </td> 
      <td> 
       <?php echo $id; ?> 
      </td> 
      <td> 
       <?php echo $name; ?> 
      </td> 
      <td> 
       <?php echo $sub; ?> 
      </td> 
      <td> 
       <?php echo $fa1; ?>  
      </td> 
      <td> 
       <?php echo $fa2; ?> 
      </td> 
      <td> 
       <?php echo $fa3; ?> 
      </td> 
      <?php $no++; ?> 
     </tr> 
    <?php 
    endif; 
} 
// Close last iteration 
echo " </tbody></table>"; 
ようなものが必要だと思います
関連する問題