Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- USE test;
- DROP TABLE IF EXISTS karyawan;
- CREATE TABLE IF NOT EXISTS karyawan(
- id INT NOT NULL AUTO_INCREMENT,
- nid INT,
- nama VARCHAR(25),
- PRIMARY KEY(id)
- );
- INSERT INTO karyawan(nid,nama)
- VALUES
- (699,'Hindun'),
- (900,'Sholeh');
- DROP TABLE IF EXISTS lembur;
- CREATE TABLE IF NOT EXISTS lembur(
- no_lembur INT NOT NULL AUTO_INCREMENT,
- nid INT,
- tanggal DATE,
- f1 INT,
- f2 INT,
- f3 INT,
- f4 INT,
- PRIMARY KEY(no_lembur)
- );
- INSERT INTO lembur(nid,tanggal,f1,f2,f3,f4)
- VALUES
- (699,'2016-08-05',1,6,0,0),
- (900,'2016-08-06',1,3,2,0),
- (699,'2016-08-07',1,7,0,0);
- */
- $dbhost='localhost';
- $dbuser='root';
- $dbpass='password';
- $dbname='test';
- $db=new mysqli($dbhost,$dbuser,$dbpass,$dbname);
- $sql="
- SELECT a.nid, b.nama, a.f1, a.f2, a.f3, a.f4, DAY(tanggal) AS tgl
- FROM lembur a
- JOIN karyawan b USING(nid)
- ORDER BY b.nama,a.tanggal";
- $qry=$db->query($sql);
- $data=array();
- while($row=$qry->fetch_object()){
- if(!isset($data[$row->nid])){
- $data[$row->nid]=array();
- $data[$row->nid]['nama']=$row->nama;
- }
- $data[$row->nid][$row->tgl]=$row;
- }
- ?>
- <table border='1'>
- <tr>
- <th rowspan='2'>No</th>
- <th rowspan='2'>NID</th>
- <th rowspan='2'>Nama</th>
- <th rowspan='2'>Fakorial</th>
- <th colspan='31'>Tanggal</th>
- <th rowspan='2'>Total Lembur</th>
- </tr>
- <tr>
- <?php for($i=1;$i<=31;$i++) echo "<th>$i</th>"; ?>
- </tr>
- <?php
- $nid=0;
- $no=0;
- foreach($data as $n=>$d){
- echo "<tr><td rowspan='4'>".(++$no)."</td><td rowspan='4'>{$n}</td><td rowspan='4'>{$d['nama']}</td>";
- for($f=1;$f<=4;$f++){
- echo ($f!=1?"</tr><tr>":"")."<td>f{$f}</td>";
- $fak="f$f";
- for($i=1;$i<=31;$i++){
- if(isset($d[$i])){
- echo "<td>{$d[$i]->$fak}</td>";
- }else{
- echo "<td></td>";
- }
- }
- echo ($f==1?"<td rowspan='4'>".(count($d)-1)."</td>":"");
- }
- echo "</tr>";
- }
- ?>
- </table>
Advertisement
Add Comment
Please, Sign In to add comment