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

Tuesday, October 19, 2010

PHP : Excel to Postgree Converter

Dulu saya pernah membuat converter dari excel langsung ke mysql, keinginan untuk membuat converter dengan database yang berbeda muncul ketika saya menggunakan database postgree dan membutuhkan converter tersebut untuk aplikasi di kantor. akhirnya saya menemukan blog ini, dan mencoba memodifikasi dan ternyata berhasil.

Cara kerja dari converter ini sangat sederhana, Library membaca File excel, kemudian file excel tersebut dimapping sesuai dengan header tabel dan nama field yang ada didalam tabel. kemudian record tersebut dimasukkan kedalam tabel.

Cekidot aja deh contohnya dibawah ini, semoga bermanfaat :

require_once 'Excel2Psql/excel2psql.php';


$excel_file = "testing_koperasi.xls";

$excel2psql = new Excel2PgSQL($excel_file);
//$excel2psql ->setConvertArea( '$A$1:$E$5' );

$excel2psql ->setRowStart(1);
$excel2psql ->setColStart('A');

$excel2psql ->setColMapping(
array('1'=>'field_1',
'2'=>'field_2','3'=>'field_3',
'4'=>'field_4','5'=>'field_5',
'6'=>'field_6','7'=>'field_7',
'8'=>'field_8','9'=>'field_9',
'10'=>'field_10','11'=>'field_11',
'12'=>'field_12','13'=>'field_13',
'14'=>'field_14','15'=>'field_15',
'16'=>'field_16','17'=>'field_17',
'18'=>'field_18','19'=>'field_19',
'20'=>'field_20','21'=>'field_21',
'22'=>'field_22','23'=>'field_23','24'=>'field_24')
);

$excel2psql ->connectDB ('localhost','nama_user_db','pass_user_db','nama_db','nama_tabel');
$excel2psql ->injectData();

if($excel2psql ){

echo "Improt data berhasil";
}else{
echo "Improt data gagal";

}

Klik excel2pgsql.rar untuk source lengkapnya...

Lanjut ....

Wednesday, July 28, 2010

Kurs Mata Uang Dengan RSS


Wiget kurs mata uang biasa ditambilkan pada situs-situs berita seperti detik, kompas dan lain sebagainya. banyak tehnik yang digunakan untuk mendapatkan data kurs yang bisa update dari sumbernya. yang sering digunakan biasanya tehnik grabbing, yaitu mengambil beberapa bagian dari sebuah situs. tehnik ini sangat beresiko, karena kita mengambil source dari situs lain tanpa permisi, disamping itu juga akan membuat situs kita dan situs yang digrabbing semakin lama untuk dibuka.disamping itu juga ketika situs yang digrabbing berubah tampilan maka coding kita juga harus menyesuaikan.

Situs yang sering dijadikan acuan untuk grabbing biasanya situs BI, BCA dan Mandiri. nah saya mencoba berbagi dengan menggunakan teknik 2 yaitu dengan menggunakan RSS atau XML, dengan cara ini lebih aman dan pastinya mudah dalam coding. kenapa lebih mudah?

  1. RSS formatnya sudah seragam dan dipakai standard dalam situs-situs yang menyedian berita.
  2. Formatnya XML, lebih mudah dalam hal parsing data
Sayangnya situs-situs yang dijadikan sumber kurs mata uang di indonesia masih sangat jarang :-(

Berikut saya sertakan contoh penggunaan dan pemakaiannya menggunakan PHP

<html>
<head>
<title>Kurs Mata Uang dengan RSS </title>
</head>
<body>
<style type="text/css">
.currency table { border-collapse: collapse; margin: 5px 0; padding: 0; }
.currency table tbody { border-bottom: 1px solid #eee; }
.currency table th { padding: 5px 10px; font: .9em Arial, Helvetica, sans-serif; background: #0991D1; border: 1px solid #17AFF5; border-bottom: 2px solid #054D71; color: #fff; text-shadow: 1px 1px 0 #666; }
.currency table td { padding: 5px 10px; font: .8em Arial, Helvetica, sans-serif; border-bottom: 1px solid #ccc; }
.currency span { display: blockl; padding: 4px; font: .7em Arial, Helvetica, sans-serif; font-style: italic; }
.currency table tr.odd { background: #fff; }
.currency table tr.even { background: #F2F2F1;}
</style>

<div class="currency">
<table>
<tr>
<th>Mata Uang</th>
<th>Jual</th>
<th>Beli</th>
</tr>
<?php
// URL Sumber RSS
$url = "http://feeds.feedburner.com/Kurs";

$rss = simplexml_load_file($url);
if($rss)
{
echo '<h1>'.$rss->channel->title.'</h1>';
echo 'Update Terakhir '.$rss->channel->lastBuildDate.'';
$items = $rss->channel->item;

//Perulangan untuk item
foreach($items as $item)
{
$title = $item->title;
$link = $item->link;

// Memecah array menjadi 3 bagian
// mata uang, kurs jual, kurs beli
$kurs = explode(" ",$title);

echo '<tr>';
echo '<td><a href="'.$link.'">'.$kurs[0].'</a></td>
<td align="right"><a href="'.$link.'">'.number_format($kurs[1],2).'</a></td>
<td align="right"><a href="'.$link.'">'.number_format($kurs[2],2).'</a></td>';
echo '</tr>';


}// end or foreach

}
?>
</table>
</div>
</body>
</html>

Lanjut ....