Advertisement
alfattarezqa

Total Nilai

May 28th, 2017
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.44 KB | None | 0 0
  1.  
  2. <?php
  3.     //-- konfigurasi koneksi database
  4.     $dbhost='localhost';
  5.     $dbuser='root';
  6.     $dbpass='';
  7.     $dbname='metode_mfep';
  8.     //-- connect to database
  9.     $db=new mysqli($dbhost,$dbuser,$dbpass,$dbname);
  10.     //-- query data ke database
  11.     $sql="SELECT nama_siswa,nama_mp,nilai_akd,nilai_non_akd,sikap FROM view_rekap_nilai WHERE kode_rombel='2'&&kode_nilai='3'&&semester='1'";
  12.     //-- inisialisasi variabel penampung
  13.     $record=array();
  14.     $data=array();
  15.     $nama_siswa=array();
  16.     $nama_mp=array();
  17.     //-- menjalankan query ke database
  18.     if($result=$db->query($sql)){
  19.         //-- ambil data dan masukkan ke variabel penampung
  20.         while($row=$result->fetch_object()){
  21.             //-- copy data record ke variable $record utk table tanpa pivot  
  22.             $record[]=$row;
  23.             //-- penyiapan data untuk pivot table
  24.             if(isset($data[$row->nama_siswa])){
  25.                 if(isset($data[$row->nama_siswa][$row->nama_mp])){
  26.                     $data[$row->nama_siswa][$row->nama_mp][0]+=$row->nilai_akd;
  27.                     $data[$row->nama_siswa][$row->nama_mp][1]+=$row->nilai_non_akd;
  28.                     //$data[$row->nama_siswa][$row->nama_mp][2]+=$row->sikap;
  29.                 }else{
  30.                     $data[$row->nama_siswa][$row->nama_mp]=array($row->nilai_akd,$row->nilai_non_akd,$row);
  31.                     $nama_mp[]=$row->nama_mp;
  32.                 }
  33.             }else{
  34.                 $data[$row->nama_siswa]=array();
  35.                 $nama_siswa[]=$row->nama_siswa;
  36.                 $data[$row->nama_siswa][$row->nama_mp]=array($row->nilai_akd,$row->nilai_non_akd,$row);
  37.                 $nama_mp[]=$row->nama_mp;
  38.             }
  39.         }
  40.         $result->close();
  41.     }
  42.  
  43.     $db->close();
  44.     $nama_mp=array_unique($nama_mp);
  45.     //======= Table Data sebelum di Pivot  ========
  46.     echo "<h2>Tabel Biasa</h2>";
  47.     echo "<table border='1'>"
  48.             ."<thead>"
  49.                 ."<th>Nama Siswa</th>"
  50.                 ."<th>Nama MP</th>"
  51.                 ."<th>Pengetahuan</th>"
  52.                 ."<th>Keteranpilan</th>"
  53.             ."</thead>";
  54.         $nilai_akd = 0;
  55.         $nilai_non_akd = 0;
  56.         for($i=0;$i<count($record);$i++){
  57.         echo "<tbody>"
  58.                 ."<tr align='center'>"
  59.                     ."<td align='left'>".$record[$i]->nama_siswa."</td>"
  60.                     ."<td align='left'>".$record[$i]->nama_mp."</td>"
  61.                     ."<td>".$record[$i]->nilai_akd."</td>"
  62.                     ."<td>".$record[$i]->nilai_non_akd."</td>"
  63.                 ."</tr>";
  64.                 $nilai_akd+=$record[$i]->nilai_akd;
  65.                 $nilai_non_akd+=$record[$i]->nilai_non_akd;
  66.                 }
  67.             echo "<tr align='center'>"
  68.                     ."<td align='left' colspan='2'>Total</td>"
  69.                     ."<td>".$nilai_akd."</td>"
  70.                     ."<td>".$nilai_non_akd."</td>"
  71.                 ."</tr>"
  72.             ."</tbody>";
  73.     echo "</table><br>";
  74.  
  75.     //======= Table Data sesudah di Pivot  ========
  76.     echo "<h2>Tabel Pivot</h2>";
  77.     echo "<table border='1'>"
  78.             ."<thead align='center'>"
  79.                 ."<th rowspan='2'>Nama Siswa</th>";
  80.             for($i=0;$i<count($nama_mp);$i++){
  81.             echo "<th colspan='2'>".$nama_mp[$i]."</th>";
  82.             }
  83.             echo "<th colspan='2'>Total</th>";
  84.             echo "<th rowspan='2'>Total P & K</th></tr><tr>";
  85.             for($i=0;$i<count($nama_mp);$i++){
  86.             echo "<th>P</th><th>K</th>";
  87.             }
  88.             echo "<th>P</th><th>K</th>";
  89.         echo "</thead>"
  90.             ."<tbody align='center'>";
  91.             for($i=0;$i<count($nama_siswa);$i++){
  92.             $p = 0;
  93.             $k = 0;
  94.             echo "<tr>"
  95.                     ."<td align='left'>".$nama_siswa[$i]."</td>";
  96.                     $sikap=0;    
  97.                     for($j=0;$j<count($nama_mp);$j++){
  98.                     echo (isset($data[$nama_siswa[$i]][$nama_mp[$j]])?"<td>".$data[$nama_siswa[$i]][$nama_mp[$j]][0]."</td>"
  99.                     ."<td>".$data[$nama_siswa[$i]][$nama_mp[$j]][1]."</td>":"<td>0</td><td>0</td>");
  100.                     //$sikap+=(isset($data[$nama_siswa[$i]][$nama_mp[$j]])?$data[$nama_siswa[$i]][$nama_mp[$j]][2]:0);
  101.                     $p+=$data[$nama_siswa[$i]][$nama_mp[$j]][0];
  102.                     $k+=$data[$nama_siswa[$i]][$nama_mp[$j]][1];
  103.                     }
  104.                     echo "<td>".$p."</td><td>".$k."</td>";
  105.                     echo "<td>".$p+$k."</td></tr>";
  106.             }
  107.         echo "</tbody>"
  108.         ."<table>";
  109. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement