Showing posts with label php. Show all posts

Membuat ID (Gabungan Karakter & Angka) Auto Increment dengan PHP

Haloooo, bertemu lagi dengan nisa... :D
Untuk sementara, tutorial FPDFnya "pause" dulu. dilain kesempatan akan dilanjutkan Part 5 nya :P

Ok, kali ini nisa akan membahas something new (biasanya fpdf melulu). Bagaimana caranya sih, membuat ID (ex: id peminjaman inventaris) otomatis tergenerate dan otomatis bertambah 1 saat insert new data, sementara ID tersebut terdiri dari gabungan karakter dan angka? Kalau ID-nya hanya berupa angka, kita bisa membuat auto increment-nya di database langsung. Tapi bagaimana dengan kasus tadi?

Penasaran? Ingin tahu? Follow me :P

Contoh yang nisa gunakan menggunakan tabel "pnjm_inv_hdr" dengan database "webapps". Format ID yang akan dibuat -> PI0001, dst.

<?php    
         // membuat koneksi ke database
         $conn = mysql_connect('localhost','root','');
         if (!$conn) {      die('Could not connect: ' . mysql_error());        }

          // select database
          mysql_select_db('webapps', $conn);

          // mengambil no pinjam inventaris terakhir (maksimum)
  $sql="select MAX(no_pinjam_inv) from pnjm_inv_hdr";
  $hasil=mysql_query($sql);
  $data=mysql_fetch_array($hasil);
       
         // data no pinjam inventaris terakhir disimpan ke variabel baru $MaxID
         $MaxID = $data[0];
            
         // intinya di sini, memisahkan karakter dengan angka menggunakan fungsi substr
         // liat manualnya di http://php.net/manual/en/function.substr.php
        /* string di $MaxID akan dipisah menjadi "PI" dan "0001", angka 0 pertama dimulai dari index ke-2                 dengan panjang 4 (sampai angka 1). 0001 dimasukkan ke variabel $no_pinjam */
$no_pinjam = (int) substr($MaxID,2,4);

         // lalu ditambah 1
  $no_pinjam++;

         // angka yang telah ditambah digabung kembali dengan "PI"
  $NewID = "PI".sprintf("%04s",$no_urut);
      
// cetak ID baru
echo "$NewID";
 ?>

mau liat contohnya?


Sekian dulu, untuk tutorial kali ini. Sampai jumpa di tulisan-tulisan berikutnya :D


By : Annisa Permatasari
Thursday, October 3, 2013
Posted by Unknown

Tutorial FPDF (Part 4) - Warna

Halooo, bertemu lagi dengan postingan saya di sini. Masih membahas tentang FPDF, kali ini saya akan bermain-main dengan warna :D . Di sini kamu akan menemukan perintah-perintah yang berhubungan dengan warna : SetDrawColor, SetFillColor, SetTextColor. Kita akan membuat frame berwarna sesuai dengan lebar judul tulisan. Tutorial kali ini, masih berkaitan dengan Header dan Footer

Let's Go... :)

<?php

require('./fpdf17/fpdf.php');



class PDF extends FPDF

{

function Header()

{

    global $title;



    // Arial bold 15

    $this->SetFont('Arial','B',15);

    // Menghitung lebar judul dan posisi

    $w = $this->GetStringWidth($title)+6;

    $this->SetX((210-$w)/2);

    // Warna Frame

    $this->SetDrawColor(0,80,180);

    // Warna Background

    $this->SetFillColor(230,230,0);

    // Warna Teks

    $this->SetTextColor(220,50,50);

    // Ketipisan frame (1 mm)

    $this->SetLineWidth(1);

    // Judul

    $this->Cell($w,9,$title,1,1,'C',true);

    // Line break

    $this->Ln(10);

}



function Footer()

{

    // Posisi 15 mm dari bawah

    $this->SetY(-15);

    // Arial italic 8

    $this->SetFont('Arial','I',8);

    // Warna teks abu-abu

    $this->SetTextColor(128);

    // Page number

    $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');

}

}

$pdf = new PDF();

$title = 'Algoritma Pemrograman dan Basis Data';

$pdf->SetTitle($title);

$pdf->Output();

?>

Beginilah, tampilannya...


Kamu bisa berkreasi sesukamu... :)

Tutorial FPDF:

Penulis :
Annisa Permatasari

Referensi :
http://www.fpdf.org/
Monday, September 23, 2013
Posted by Unknown

Tutorial FPDF (Part 3) - Header dan Footer

Pada tutorial kali ini, saya akan membahas tentang cara membuat Header dan Footer memakai FPDF. Silahkan ikuti dulu tutorial FPDF Part 1 dan Part 2, jika belum pernah mengunjungi halaman tersebut agar tidak kebingungan :)

Ok, let's start...

<?php
require('./fpdf17/fpdf.php');

class PDF extends FPDF
{
// Page header
function Header()
{
    // Logo
    $this->Image('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNRGeBUdj0hTQJ0clgPpPT__2TSNSKDM8p-ICi8v28ymIcgQj9KIGv_vLJRMDr_Sb_8wrMYYLBn8gvFb3IQ78te6xS7bhepE3PB5NYcAhkPJAfj3zKTR-quLVTKGonLep7fRpcR1mteDV7/h120/942399_662788143736596_1950874219_n.jpg',10,8,30);
    
    // Arial bold 12
    $this->SetFont('Arial','B',12);
    
    // Geser Ke Kanan 35mm
    $this->Cell(35);
    
    // Judul
    $this->Cell(30,7,'Laboratorium Pemrograman dan Basis Data',0,1,'L');
    $this->Cell(35);
    $this->Cell(30,7,'Program Studi Sistem Informasi',0,1,'L');
    $this->Cell(35);
    $this->Cell(30,7,'Fakultas Teknologi Informasi, Universitas Andalas',0,1,'L';
    
    // Garis Bawah Double
    $this->Cell(190,1,'','B',1,'L');
    $this->Cell(190,1,'','B',0,'L');
    
    // Line break 5mm
    $this->Ln(5);
}

// Page footer
function Footer()
{
    // Posisi 15 cm dari bawah
    $this->SetY(-15);
    
    // Arial italic 8
    $this->SetFont('Arial','I',8);
    
    // Page number
    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}

//Membuat file PDF
$pdf = new PDF();

//Alias total halaman dengan default {nb} (berhubungan dengan PageNo())
$pdf->AliasNbPages();

$pdf->AddPage();
$pdf->SetFont('Times','',12);
//Mencetak kalimat dengan perulangan
for($i=1;$i<=45;$i++)
    $pdf->Cell(0,10,'Baris '.$i,0,1);

//Menutup dokumen dan dikirim ke browser
$pdf->Output();
?>

Penjelasan :

  • Image('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNRGeBUdj0hTQJ0clgPpPT__2TSNSKDM8p-ICi8v28ymIcgQj9KIGv_vLJRMDr_Sb_8wrMYYLBn8gvFb3IQ78te6xS7bhepE3PB5NYcAhkPJAfj3zKTR-quLVTKGonLep7fRpcR1mteDV7/h120/942399_662788143736596_1950874219_n.jpg',10,8,30);
    • Lokasi atau URL gambar 
    • Absis x gambar ujung kiri-atas
    • Ordinat y gambar ujung kiri-atas
    • Lebar gambar
    • Tinggi gambar
    • Tipe gambar (JPG, JPEG, PNG dan GIF)
  • Penjelasan lainnya bisa di baca pada komentar-komentar di program

Hasilnya...


Ikuti terus ya, tutorial FPDF berikutnya ;)

Tutorial FPDF:

Penulis :
Annisa Permatasari

Referensi :
http://www.fpdf.org/
Friday, September 20, 2013
Posted by Unknown

Tutorial FPDF (Part 2) - Contoh Sederhana

Sebelumnya, saya sudah membuat tulisan mengenai pengenalan FPDF di alamat berikut http://lpbdsi.blogspot.com/2013/06/tutorial-fpdf-part-1-pengenalan-fpdf.html

Sekarang, mari kita membuatnya dari awal secara bertahap. So, stay tune ya untuk mengikuti tutorial-tutorial berikutnya :D

1. Download FPDF di sini
2. Lalu ekstrak dan pindahkan ke htdocs. Untuk tutorial kali ini, saya meletakkan folder fpdf17 di dalam folder contoh ( C:\xampp\htdocs\contoh )
3. Buka editor, di sini saya menggunakan notepad++
4. Ketik codingan seperti gambar di bawah ini

Penjelasan :

  • require('./fpdf17/fpdf.php'); 
    • Menyertakan file fpdf.php agar fungsi-fungsi fpdf bisa digunakan
  • $pdf = new FPDF('L','mm','A4');
    • Mengeset orientasi halaman ( P untuk Portrait [default] atau L untuk Landscape)
    • Unit pengukuran (pt, mm [default], cm, in)
    • Ukuran kertas (A3, A4 [default], A5, Letter, Legal). bisa juga mendefinisikan ukuran sendiri misal 50x50 mm dengan cara berikut $pdf = new FPDF('L','mm',array(50,50));
    • $pdf->AddPage();
      • Membuat/ menambah halaman baru
    • $pdf->SetFont('Helvetica','B',30);
      • Mengeset family font (Courier, Helvetica, Arial, Times, Symbol, Zapfdingbats)
      • Font style (B : bold, I : italic, U : underline)
      • Ukuran font dalam pt dengan nilai default 12
    • $pdf->Cell(70,10,'Haloooooo...',0,0,'L');
      • Lebar cell
      • Tinggi cell
      • Mencetak kalimat 
      • Pemberian border (0: tanpa border [default], 1: frame, L: left, T: top, R: Right, B: Bottom)
      • Posisi cell berikutnya (0: sebelah kanan [default], 1: baris baru, 2: bawah)
      • Align (L: rata kiri, C: rata tengah, R: rata kanan)
      • Cell background (true, false)
      • Link
    • $pdf->Output();
      • Menutup dokumen dan dikirim ke browser
    5. Tampilannya

    Sekian dulu untuk tutorial kali ini... Saya akan posting Tutorial FPDF (Part 3) - Header dan Footer...

    Tutorial FPDF:



    Penulis :
    Annisa Permatasari

    Referensi :
    http://www.fpdf.org/


    Tuesday, September 17, 2013
    Posted by Unknown

    Tutorial FPDF (Part 1) - Pengenalan FPDF

    FPDF merupakan PHP class untuk membuat PDF dengan PHP murni tanpa menggunakan PDFlibLibrary. Kita bisa membuat file PDF sesuai dengan kebutuhan. Bagi saya, FPDF adalah generator PDF yang pertama kali saya kenali di dunia pemrograman PHP :D.

    Berikut fitur-fitur utama FPDF yang tertera di halaman Home http://www.fpdf.org/:
    • Choice of measure unit, page format and margin
    • Page header and footer Management
    • Automatic page break
    • Automatic line break and text justification
    • Image support (JPEG, PNG and GIF)
    • Colors
    • Links
    • True Type, Type1 and encoding support
    • Page compression


    FPDF bisa di download secara cuma-cuma dan tersedia dalam beberapa bahasa selain Bahasa Internasional alias Bahasa Inggris seperti Bahasa Arab, Jepang, Korea, bahkan Bahasa Indonesia termasuk dalam daftar. Keren kan... Bagi yang kebingungan dengan English, tak perlu khawatir lagi :D


    Berikut contoh coding-an saya menggunakan FPDF dimana data yang ditampilkan diambil dari database :
    <?php
    require('server.php');
    if($_GET['id']!="")
    {
      //select data dari database PostgreSQL
      $no_eirin = $_GET['id'];
      $sql="select * from view_eirin where no_eirin='$no_eirin'";
      $hasil=pg_exec($dbh,$sql);
      $data=pg_fetch_array($hasil);
      $date = date('d F Y', strtotime($data[tgl_eirin]));
      $jam = date("G")-1;
      $time=$jam.date(":i:s");

    //membuat file PDF
    require('fpdf/fpdf.php');
    $pdf=new FPDF('P','mm',array(80,220));
    $pdf->AddPage();
    $pdf->SetMargins(5,5);

    $pdf->SetFont('Arial','',6);
    $pdf->Image('images\mtc_header.jpg',5,5,70,10);
    $pdf->Ln(8);
    $pdf->Cell(70,0,'JL. TANJUNG TEMBAGA NO. 10, TG PERAK, SURABAYA 60167');
    $pdf->Ln(3);
    $pdf->Cell(70,0,'PHONE:(031) 3291885 (HUNTING) FAX: (031) 3291169');

    $pdf->SetFont('Arial','BU',14);
    $pdf->Ln(10);
    $NILAI='02';
    $pdf->Cell(70,0,'TANDA TERIMA CONTAINER',0,1,'C');

    $pdf->SetFont('Arial','B',12);
    $pdf->Ln(10);
    $pdf->Cell(70,0,'IN [ '.$data[0].' ]',0,1,'R');

    $pdf->SetFont('Arial','',12);
    $pdf->Ln(10);
    $pdf->Cell(70,0,$data[1],0,1,'L');

    $pdf->SetFont('Arial','',10);
    $pdf->Ln(10);
    $pdf->Cell(70,0,'Kepada Yth. :',0,1,'L');

    $pdf->SetFont('Arial','',14);
    $pdf->Ln(6);
    $pdf->Cell(70,0,$data[2],0,1,'L');

    $pdf->SetFont('Arial','',10);
    $pdf->Ln(10);
    $pdf->Cell(70,0,'Dengan ini kami beritahukan, bahwa:',0,1,'L');

    $pdf->SetFont('Arial','',10);
    $pdf->Ln(5);
    $pdf->Cell(30,0,'Nomor Container',0,0,'L');

    $pdf->SetFont('Arial','B',12);
    $pdf->Cell(40,0,$data[3],0,1,'L');

    $pdf->SetFont('Arial','',10);
    $pdf->Ln(5);
    $pdf->Cell(30,0,'TYPE',0,0,'L');
    $pdf->Cell(40,0,$data[4],0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(30,0,'Size',0,0,'L');
    $pdf->Cell(15,0,$data[5].'.00',0,0,'L');
    $pdf->Cell(15,0,$data[6].'0',0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(30,0,'Load Status',0,0,'L');
    $pdf->Cell(40,0,'EMPTY',0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(30,0,'Principal',0,0,'L');
    $pdf->Cell(40,0,$data[7],0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(30,0,'Ex. Vessel',0,0,'L');
    $pdf->Cell(40,0,$data[8].' - '.$data[9],0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(30,0,'From :',0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(5,0);
    $pdf->Cell(25,0,'Trucker',0,0,'L');
    $pdf->Cell(40,0,$data[10],0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(5,0);
    $pdf->Cell(25,0,'Remarks',0,0,'L');
    $pdf->Cell(40,0,$data[11],0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(5,0);
    $pdf->Cell(25,0,'No. Polisi',0,0,'L');
    $pdf->Cell(40,0,$data[12],0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(70,0,'Telah kami terima dan survey :',0,1,'L');

    $pdf->Ln(5);
    $pdf->Cell(25,0,'Kondisi',0,0,'L');
    $pdf->SetFont('Arial','B',12);
    $pdf->Cell(45,0,$data[13],0,1,'L');

    $pdf->SetFont('Arial','',10);
    $pdf->Ln(5);
    $pdf->Cell(25,0,'FoodGrade',0,0,'L');
    $pdf->SetFont('Arial','B',12);
    $pdf->Cell(45,0,$data[14],0,1,'L');

    $pdf->SetFont('Arial','',10);
    $pdf->Ln(5);
    $pdf->Cell(25,0,'Surveyor',0,0,'L');
    $pdf->Cell(45,0,$data[15],0,1,'L');

    $pdf->Ln(10);
    $pdf->Cell(70,0,'SURABAYA,   '.$date.'    '.$time,0,1,'R');

    $pdf->Ln(8);
    $pdf->Cell(35,0,'Trucker',0,0,'C');
    $pdf->Cell(35,0,'Petugas Gate In',0,1,'C');

    $pdf->Ln(20);
    $pdf->SetFont('Arial','U',10);
    $pdf->Cell(35,0,'( '.$data[17].' )',0,0,'C');
    $pdf->Cell(35,0,'( '.$data[18].' )',0,1,'C');
    $pdf->Output();
    }
    ?>
    <html><head><title>EIR IN</title></head></html>

    Hasilnya seperti gambar di bawah ini :

    Penasaran dengan maksud sintak panjang di atas  seperti banyaknya tulisan “$pdf“ dan cara membuatnya? Silahkan ikuti tutorial selanjutnya :D

    Kalau gak sabaran, kamu bisa lihat tutorial dan manualnya di http://www.fpdf.org/ atau di folder fpdf/doc (FPDF yang di download). Selamat berkreasi dengan FPDF :)

    Tutorial FPDF:


    By :
    Annisa Permatasari

    Referensi :
    http://www.fpdf.org/ 
    Wednesday, June 19, 2013
    Posted by Unknown

    - Copyright © 2013 Laboratorium Pemrograman dan Basis Data -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -