Guests can not chat Login

Ambil kurs jual USD BCA

Tanya jawab tentang script PHP, MySQL, Javascript, dan sejenisnya.

Ambil kurs jual USD BCA

Postby w4nks » 09 Jan 2010, 10:56

Ini pak mau tanya kelanjutan kemarin yang ngambil nilai usd jualnya saja gimana yah pak ? rencana mau dibuat seperti kalkulator gitu..nilai kursnya langsung otomatis masuk dari bca…

mohon pencerahannya lagi pak
w4nks
 
Posts: 2
Joined: 09 Jan 2010, 09:35

Re: Ambil kurs jual USD BCA

Postby jawaad » 10 Jan 2010, 00:41

OK, saya coba ya..

KODE ASLI file fungsi_kurs_bca.php:
Code: Select all
<?php
/*
Ambil Nilai Valuta Kurs Dari BCA Versi 1.0
Tanggal: 2008-11-19 22:17
Original dari azza (broadband.or.id/forum/)
dimodif oleh: jinbatsu (http://www.nusansifor.com) 
yg dimodif:
    - menggunakan CURL sebagai alternatif dari file_get_contents (hususnya buat yg gak bisa di hostingan2 tertentu)
    - penempatan output  titik koma dan tanda petik yg mengakibatkan fatal error dibeberapa hostingan
    - menambah number format, supaya terlihat ada titik pada ribuan nya
*/
error_reporting (E_ALL);
//
// Ubah menjadi 3600 untuk cache 1 jam, ketika semuanya sudah berjalan normal.
// Menggunakan cache berarti tidak perlu membuka koneksi ke klikbca
// setiap kali halaman dibuka << ini PENTING! menghemat waktu, dan mengurangi proses server.
//
$nkurs['cachetime'] = 3600/* ubah jadi 3600 atau lebih */
//
// Hilangkan mata uang yang tidak mau ditampilkan.
//
$nkurs['curr'] = array ('USD''SGD''HKD''CHF''GBP''AUD''JPY''SEK''DKK''CAD''EUR''SAR');
//
// Dari sini kebawah, ubah kalau mengerti aja.
// Atau tanya dulu di: broadband.or.id/forum/viewforum.php?f=7 (database forumnya sekarang udah gak ada, silahkan dicek  lagi)
//
// menggunakan CURL, jika file_get_contents tidak bisa dihostingan Anda, baca manual PHP untuk selengkapnya
function curl_get_file_contents($URL) {
    
$c curl_init();
    
curl_setopt($cCURLOPT_RETURNTRANSFER1);
    
curl_setopt($cCURLOPT_URL$URL);
    
$contents curl_exec($c);
    
curl_close($c);
    if (
$contents) return $contents;
    else return 
FALSE;
}
$nkurs['scriptpath'] = dirname (__FILE__);
$nkurs['cachefile'] = $nkurs['scriptpath'] . '/cache.txt';
if (!
file_exists ($nkurs['cachefile']) || !is_writable ($nkurs['cachefile'])){ die ('File cache.txt belum ada atau belum writable.<br />Buat file: <code>' $nkurs['cachefile'] . '</code><br />Lalu CHMOD ke 666'); }
if (
filemtime ($nkurs['cachefile']) <= ( time () - $nkurs['cachetime'] ) && $handle curl_get_file_contents("http://www.klikbca.com/individual/silver/ind/rates.html"))  {
    
$handle explode ('<table border="0" cellspacing="0" cellpadding="0" class="testL">'$handle);
    
$handle explode ('</table>'$handle[1]);
    
$handle explode ('<TR'$handle[0]);
    
$nkurs['data'] = array ();
    foreach (
$handle as $val) {
        if (!isset (
$nkurs['remotelastupdate'])) {
            
$nkurs['remotelastupdate'] = explode ('<font color="black" size="1" face="Arial">'$val);
            
$nkurs['remotelastupdate'] = explode ('</font>'$nkurs['remotelastupdate'][1]);
            
$nkurs['remotelastupdate'] = explode ('/'$nkurs['remotelastupdate'][0]);
            
$nkurs['remotelastupdate'] = trim ($nkurs['remotelastupdate'][0]) . ' / ' trim ($nkurs['remotelastupdate'][1]);
        } else {
            
$val explode ('<center>'$val);
            
$val explode ('</center>'$val[1]);
            
$curr trim (str_replace ('&nbsp;'''$val[0]));
            
$val explode ('&nbsp;'$val[1]);
            
$sell explode ('align="right">'$val[0]);
            
$sell trim ($sell[1]);
            
$buy explode ('align="right">'$val[1]);
            
$buy trim ($buy[1]);
            
$nkurs['data'][$curr] = array ($sell$buy);
        }
    }
    
$tocache = array ();
    foreach (
$nkurs['data'] as $key => $val) {
        
$tocache[] = $key '|' $val[0] . '|' $val[1];
    }
    
$tocache[] = 'remotelastupdate|' $nkurs['remotelastupdate'];
    
$tocache implode ("\n"$tocache);
    
$handle fopen ($nkurs['cachefile'], 'w');
    
fwrite ($handle$tocache);
    
fclose ($handle);
} else {
    
$handle file ($nkurs['cachefile']);
    
$nkurs['data'] = array ();
    foreach (
$handle as $val) {
        
$val explode ('|'$val);
        if (
$val[0] != 'remotelastupdate') {
            
$nkurs['data'][$val[0]] = array ($val[1], trim ($val[2]));
        }
        else
        {
            
$nkurs['remotelastupdate'] = $val[1];
        }
    }
}
//
// Output
//
$output "\n";
$margin '';
$output .= $margin '<div id="nKurs">' "\n";
$output .= $margin '    <table width="100%" border="0" cellspacing="1" cellpadding="0">' "\n";
$output .= $margin '        <tr><th>Mata Uang</th><th>Jual</th><th>Beli</th></tr>' "\n";
$rowclass 'row1';
foreach (
$nkurs['data'] as $key => $val) {
    if (
in_array ($key$nkurs['curr'])) {
        if (
$rowclass == 'row1'){ $rowclass 'row2'; }else{ $rowclass 'row1'; }
        
$output .= $margin '        <tr><td align="center" class="curr ' .$rowclass '">' $key '</td><td align="right" class="' $rowclass '">' number_format($val[0], 2) . '</td><td align="right" class="' $rowclass '">' number_format($val[1], 2) . '</td></tr>' "\n";
    }
}
$output .= $margin '    </table>' "\n";
$output .= $margin '    <cite><a href="http://www.klikbca.com/" rel="external" title="Source: KlikBCA">' $nkurs["remotelastupdate"] . '</a></cite>' "\n";
$output .= $margin '</div>' "\n";
echo 
$output;
?>


Kode modifikasi, supaya hanya tampil nilai jual saja:
Code: Select all
<?php
/*
Ambil Nilai Valuta Kurs Dari BCA Versi 1.0
Tanggal: 2008-11-19 22:17
Original dari azza (broadband.or.id/forum/)
dimodif oleh: jinbatsu (http://www.nusansifor.com) 
yg dimodif:
    - menggunakan CURL sebagai alternatif dari file_get_contents (hususnya buat yg gak bisa di hostingan2 tertentu)
    - penempatan output  titik koma dan tanda petik yg mengakibatkan fatal error dibeberapa hostingan
    - menambah number format, supaya terlihat ada titik pada ribuan nya
*/
error_reporting (E_ALL);
//
// Ubah menjadi 3600 untuk cache 1 jam, ketika semuanya sudah berjalan normal.
// Menggunakan cache berarti tidak perlu membuka koneksi ke klikbca
// setiap kali halaman dibuka << ini PENTING! menghemat waktu, dan mengurangi proses server.
//
$nkurs['cachetime'] = 3600; /* ubah jadi 3600 atau lebih */
//
// Hilangkan mata uang yang tidak mau ditampilkan.
//
$nkurs['curr'] = array ('USD', 'SGD', 'HKD', 'CHF', 'GBP', 'AUD', 'JPY', 'SEK', 'DKK', 'CAD', 'EUR', 'SAR');
//
// Dari sini kebawah, ubah kalau mengerti aja.
// Atau tanya dulu di: broadband.or.id/forum/viewforum.php?f=7 (database forumnya sekarang udah gak ada, silahkan dicek  lagi)
//
// menggunakan CURL, jika file_get_contents tidak bisa dihostingan Anda, baca manual PHP untuk selengkapnya
function curl_get_file_contents($URL) {
    $c = curl_init();
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($c, CURLOPT_URL, $URL);
    $contents = curl_exec($c);
    curl_close($c);
    if ($contents) return $contents;
    else return FALSE;
}
$nkurs['scriptpath'] = dirname (__FILE__);
$nkurs['cachefile'] = $nkurs['scriptpath'] . '/cache.txt';
if (!file_exists ($nkurs['cachefile']) || !is_writable ($nkurs['cachefile'])){ die ('File cache.txt belum ada atau belum writable.<br />Buat file: <code>' . $nkurs['cachefile'] . '</code><br />Lalu CHMOD ke 666'); }
if (filemtime ($nkurs['cachefile']) <= ( time () - $nkurs['cachetime'] ) && $handle = curl_get_file_contents("http://www.klikbca.com/individual/silver/ind/rates.html"))  {
    $handle = explode ('<table border="0" cellspacing="0" cellpadding="0" class="testL">', $handle);
    $handle = explode ('</table>', $handle[1]);
    $handle = explode ('<TR', $handle[0]);
    $nkurs['data'] = array ();
    foreach ($handle as $val) {
        if (!isset ($nkurs['remotelastupdate'])) {
            $nkurs['remotelastupdate'] = explode ('<font color="black" size="1" face="Arial">', $val);
            $nkurs['remotelastupdate'] = explode ('</font>', $nkurs['remotelastupdate'][1]);
            $nkurs['remotelastupdate'] = explode ('/', $nkurs['remotelastupdate'][0]);
            $nkurs['remotelastupdate'] = trim ($nkurs['remotelastupdate'][0]) . ' / ' . trim ($nkurs['remotelastupdate'][1]);
        } else {
            $val = explode ('<center>', $val);
            $val = explode ('</center>', $val[1]);
            $curr = trim (str_replace ('&nbsp;', '', $val[0]));
            $val = explode ('&nbsp;', $val[1]);
            $sell = explode ('align="right">', $val[0]);
            $sell = trim ($sell[1]);
            $buy = explode ('align="right">', $val[1]);
            $buy = trim ($buy[1]);
            $nkurs['data'][$curr] = array ($sell, $buy);
        }
    }
    $tocache = array ();
    foreach ($nkurs['data'] as $key => $val) {
        $tocache[] = $key . '|' . $val[0] . '|' . $val[1];
    }
    $tocache[] = 'remotelastupdate|' . $nkurs['remotelastupdate'];
    $tocache = implode ("\n", $tocache);
    $handle = fopen ($nkurs['cachefile'], 'w');
    fwrite ($handle, $tocache);
    fclose ($handle);
}
 else {
    $handle = file ($nkurs['cachefile']);
    $nkurs['data'] = array ();
    foreach ($handle as $val) {
        $val = explode ('|', $val);
        if ($val[0] != 'remotelastupdate') {
            $nkurs['data'][$val[0]] = array ($val[1], trim ($val[2]));
        }
        else
        
{
            $nkurs['remotelastupdate'] = $val[1];
        }
    }
}
//
// Output
//
foreach ($nkurs['data'] as $key => $val) {
    if (in_array ($key, array('USD'))) { // hanya USA saja
        $output = $val[0]; // hanya ambil nilai jual
    }
}
echo $output; 


Perhatikan, perubahan hanya pada variabel output saja.
jawaad
 
Posts: 81
Joined: 12 Dec 2009, 18:57

Re: Ambil kurs jual USD BCA

Postby w4nks » 19 Jan 2010, 10:36

Sorry pak kelamaan jawabnya..saya coba dulu ya pak..makasih banyak...baru balik dari luar kota neh pak... :-)
w4nks
 
Posts: 2
Joined: 09 Jan 2010, 09:35

Re: Ambil kurs jual USD BCA

Postby revenge » 06 May 2010, 09:22

kk saya mw tanya..

scriptnya kan sudah saya coba en berhasil . tapi kok pas di selipin di codingan saya , Kursnya keluar en jalan . tetapi codingan saya jadi ada error gini.

Notice: Use of undefined constant module - assumed 'module' in C:\xampp\htdocs\momod\kiri.php on line 27
Notice: Use of undefined constant tanggal - assumed 'tanggal' in C:\xampp\htdocs\momod\kiri.php on line 38
Notice: Use of undefined constant gambar - assumed 'gambar' in C:\xampp\htdocs\momod\kiri.php on line 43

tapi qlo gak dimasukin yang kurs dolarnya gak ada error... tolong dunk bosss..T.T
revenge
 
Posts: 1
Joined: 03 May 2010, 00:38

Re: Ambil kurs jual USD BCA

Postby jawaad » 07 May 2010, 02:29

@reveenge, coba di cek kembali script php Anda. pada file kiri.php
coba diatas file nya diberi default variabel untuk
Code: Select all

$module 
= '';
$tanggal = '';
$gambar = '';
 


dan ini tidak ada sangkut pautnya sama script php ambil kurs BCA.
Silahkan cek kembali script pada file momod/kiri.php Anda.
jawaad
 
Posts: 81
Joined: 12 Dec 2009, 18:57


Return to Script PHP MySQL Javascript

Who is online

Users browsing this forum: No registered users and 0 guests

cron