Showing posts with label php. Show all posts
Showing posts with label php. Show all posts

Thursday, April 12, 2012

Ternary Operator

Ternary operator dalam ilmu komputer merupakan operator untuk bahasa pemrograman yang memiliki 3 argumen yang dipisahkan oleh karakter '?' dan ':'. Operator ini merepresentasikan operasi asignment suatu variabel berdasarkan kondisi argumen sebelum '?'. Bentuk umum dari operator ini adalah:
(kondisi)?ekspresi_pertama:ekspresi_kedua;
ekspresi_pertama dijalankan jika kondisi bernilai true, jika kondisi bernilai false maka ekspresi_kedua yang akan dijalankan.
Lihat contoh statemen operator ternary berikut:
No C++/Java PHP
1 max=(a>b):a:b; $max=($a>$b)?$a:$b;
2 n=(n%2==0)?n/2:3*n+1; $n=($n%2==0)?$n/2:3*$n+1;

Statement pada tabel di atas jika dituliskan dengan struktur kontrol kondisi if sebagai berikut:
No C++/Java PHP
1
if (a>b) {
  max=a;
  } else {
  max=b;
  } 
if ($a>$b) { 
  $max=$a; 
  }else {
  $max=:$b; 
  } 
2
if (n%2==0) { 
    n=n/2; 
    } else {
    n=3*n+1;
    }
if ($n%2==0) { 
    $n=$n/2; 
    } else {
    $n=3*$n+1;
    }
Lalu bagaimana jika kondisi yang dapat dipenuhi lebih dari 2, misal untuk menentukan bilangan terbesar dari 3 bilangan, perhatikan pseudocode berikut:
if a>b 
  if a>c
   max=a
  else
   max=c
else
  if b>c
   max=b
  else
   max=c

Implementasi operator ternary dari pseudocode lihat contoh script lengkap dalam C++ berikut:
#include <iostream>

using namespace std;
int main()
{
   int a=90,b=80,c=530,max;
   max=(a>b)?(a>c)?a:c:(b>c)?b:c; //menentukan nilai max
   cout<<max;
   return 0;
 }

Dari pemaparan contoh-contoh di atas, operator ternary dapat digunakan sebagai pengganti statement if sehingga kode yang dibuat dapat menjadi lebih pendek sehingga dapat mengurangi code of line yang efeknya adalah ukuran file code yang dihasilkan akan lebih kecil.
Technorati Profile

Friday, August 3, 2007

Export MySQL data ke Excel dengan PHP

Kadang-kadang data yang berada di database akan dicetak atau disimpan dalam format Excel atau spreedsheet. Beberapa aplikasi client database menyediakan fasilitas Export Data, baik ke dalam tabel html, DBF file, maupun Excel File.
Sekarang Kita akan melakukan export data MySQL ke file excel dengam menggunakan aplikasi yang dibuat dengan PHP. Berikut angkah-langkahnya,
Kita buat tabel contoh (id int(5), Nik varchar(8), nama varchar(25)) di dalam database test. lalu kita isi tabel tersebut dengan beberapa data dan kita export data tersebut ke dalam format file Excel.

Langkah pertama adalah melakukan konfigurasi koneksi ke server MySQL:
<?php
$host="localhost";
$user="whoami";
$pass="screet";
$db="test";
$conn=mysql_connect($host,$user,$pass) or die(mysql_error()."Koneksi Gagal");
?>

Setelah melakukan koneksi database dan koneksi berhasil, lalu kita buat tabel di atas, jangan lupa gunakan @ pada fungsi mysql_query, tanda @ digunakan untuk menghilangkan komentar error ketika ada kesalahan pembuatan tabel, hal ini dimaksudkan apabila tabel sudah ada, maka program tetap jalan tanpa ada pesan error.
Setelah Tabel selesai dibuat kita isi data tabel tersebut, berikut contoh script untuk membuat tabel dan mengisi datanya:
<?php
/* create database */
mysql_select_db($db);
$create="CREATE TABLE contoh (id INT( 5 ) NOT NULL AUTO_INCREMENT ,nik VARCHAR( 8 ) NOT NULL ,nama VARCHAR( 25 ) NOT NULL ,PRIMARY KEY ( id ) ,UNIQUE (nik)) TYPE = innodb";
$kueri_create=@mysql_query($create);
/* selesai create */

/* Insert data */
$insert="INSERT INTO `contoh` ( `id` , `nik` , `nama` )VALUES ('1', '00100001', 'Didik'), ('2', '00100002', 'Kurniawan')";
$kueri_insert=@mysql_query($insert);
?>

Setelah tabel siap dan data sudah ada, sekarang kita akan melakukan proses export data tersebut, berikut scriptnya:
<?php
$select = "select * from contoh order by nik";
//die($select);
$export = mysql_query($select);
$fields = mysql_num_fields($export);
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($export, $i) . "\t";
}
while($row = mysql_fetch_row($export)) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);
if ($data == "") {
$data = "n(0) Records Found!\n";
}
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=contoh.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";
?>

Selamat mencoba!
Sebagian source diambil dari berbagai sumber


Technorati Profile