Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Masalah pembuatan Nomor Random Unik dengan PHP untuk transfer bank

Assalamualaikum...
Permisi mas/mbak programmer khususnya programmer PHP, langsung aja ke pokok permasalahan..dalam Website penjualan yang saya bangun...ada fasilitas Nomor Random Unik (singkat Randunik) yang akan di include kan pada saat konfirmasi pemesanan untuk membedakan jumlah transfer transaksi antar setiap pelanggan...tapi saya menemukan something error di No Randunik nya...yang seharusnya 3 Digit, kadang suka keluar 2 Digit, bahkan pernah hanya 1 Digit...barangkali ada kesalahan dari Logikanya...mohon pencerahannya..saya bingung ini kesalahan logika dari Randunik nya atau Coding dari halaman Pemesanannya saya...soalnya kalo pas keluar Nomor Randunik hanya 2 Digit, detail jumlah yang harus ditransfer pun jadi salah....alurnya seperti ini Jumlah Transfer + 1000 lalu 3 digit terakhir diganti dengan Randunik, misal Jumlah yang harus ditransfer sebesar Rp.98.250 lalu ditambahkan 1000 menjadi Rp.99.250 dan 3 Digit terakhir diganti Randunik (misal randunik yang keluar = 654) jadi jumlah yang ditransfer sebesar Rp.99.654,..sekarang saya masukkan aja contoh2 Randunik yang berhasil dan yang gagal dari transaksi latihan saya :
1. Total Belanja :Rp. 83.250
Biaya Kirim :Rp. 15.000
Unik Transfer :Rp. 654
Total Transfer : 99.654
(yang ini sukses Randunik nya)

2. Total Belanja : Rp. 510.000
Biaya Kirim : Rp. 7.500
Unik Transfer : 48
Total Transfer : Rp. 51.848
(yang ini failed, karena Randunik hanya keluar dua digit, harusnya total transfer Rp.518.500, atau Rp.518.480 jika Randuniknya 480)

Kalo Randunik yang keluar 3 Digit perhitungan benar...tapi kalo hanya 2 Digit jadi ngaco...kira2 kenapa ya ?

ini saya tampilkan code randunik dan konfirmasi transaksinya :

Randunik // inc.randunik.php
<?php
function RandUnik($panjang) {
$pstring = "0123456789";
$plen = strlen($pstring);
for ($i = 1; $i <= $panjang; $i++) {
$start = rand(0,$plen);
$unik.= substr($pstring, $start, 1);
}
 
return $unik;
}
?>



<?php
session_start();
include_once "inc.plg.session.php";
include_once "librari/inc.koneksi.php";
include_once "librari/inc.librari.php";
include_once "librari/inc.randunik.php";


<form action="?page=belisukses" method="post" name="form1" target="_self">


Nama Busana
Harga (Rp)
Jumlah
Total (Rp)

<?php
//Perintah untuk menampilkan daftar belanja
$sql = "SELECT PS.*,PR.nm_produk, PR.file_gambar, PR.harga, KN.*
FROM produk_stok PS, produk PR, kantong KN
WHERE PR.kd_produk = PS.kd_produk
AND PS.kd_detprod=KN.kd_detprod
AND KN.uid_plg='".$_SESSION['SES_UIDPLG']."'
ORDER BY KN.id_kantong";

$qry = mysql_query($sql, $koneksi)
or die ("Gagal Query");
while ($data = mysql_fetch_array($qry)){
$no++;
//Menghitung harga
$harga = $data['harga']-(($data['harga'] * $data['diskon'])/100);
$subtot = $harga * $data['jumlah'];
$total = $total + $subtot;

$sql_plg = "SELECT propinsi.ongkos_kirim
FROM propinsi,pelanggan,kantong
WHERE propinsi.kd_propinsi = pelanggan.kd_propinsi
AND pelanggan.uid_plg=kantong.uid_plg
AND kantong.uid_plg='".$_SESSION['SES_UIDPLG']."'";

$qry_plg = mysql_query ($sql_plg, $koneksi)
or die("Gagal Query propinsi".mysql_error());
$hsl_plg = mysql_fetch_array($qry_plg);
$ongkos = $hsl_plg['ongkos_kirim'];
$totbayar = $total + $ongkos + 1000;
$uang = substr($totbayar,0,strlen($totbayar)-3);
$uniktrans = RandUnik('3');
$totbayar = $uang."".$uniktrans;
?>

Nama Busana : <? echo "<a href='?page=busanadet&kode=$data[kd_produk]' target='_blank'>$data[nm_produk]"; ?>

<? echo "Rp.".format_angka($data['harga']).",00";?>

 
 



<? echo "Disc ".$data['diskon']." %"; ?>
<? echo $data['jumlah']; ?>
<? echo "Rp. ".format_angka($subtot).",00"; ?>


   
<? echo "Rp. ".format_angka($harga).",00"; ?>
 
 


 
 
 
 
 

<?php
}
?>

 
Total Belanja (Rp) :
<? echo "Rp. ".format_angka($total).",00"; ?>


 
Biaya Kirim (Rp.) :
<? echo "Rp. ".format_angka($ongkos).",00"; ?>


 
Unik Transfer :
">
<? echo $uniktrans; ?>



 
Total Pembayaran (Rp.) :

<? echo "Rp. ".format_angka($totbayar).",00"; ?>


 
 
 
 


 
 
 




 
 
 
 



Total uang yang harus anda setorkan adalah sebesar : <? echo "Rp. ".format_angka($totbayar).",00"; ?>. Simpan Bukti pembayaran anda.
Kami akan mengirimkan busana yang telah anda pesan ke alamat yang tertera dibawah ini :






 
 
 
 



<?php
} //akhir session
?>
Terima Kasih. mohon pencerahannya

Tanggapan

  • edited January 2013
    [1]
    bikin random nya repot amat ...

    kalo random kisaran 100-999 : rand(100,999);
    kalo random kisaran 1-999 : rand(1,999);

    kalo random kisaran 001-999 :sprintf('%03d', rand(1,999));
    atau str_pad(rand(1,999), 3, "0", STR_PAD_LEFT);

    utk kisaran 1-999
    kalo diperlakukan sebagai numerik pake yg 1-999
    kalo diperlakukan sebagai string pake yg 001-999

    kalo mau bikin random dengan batasan panjang berdasar parameter
    1-9xxxxxxx
    rand(1,str_pad('',$panjang,9)+0);
    0xxxxxx1-9xxxxxxx
    sprintf('%0'.$panjang.'d', rand(1,str_pad('',$panjang,9)+0));

    10xxxxxx-9xxxxxxx
    rand(str_pad('1',$panjang,0)+0,str_pad('',$panjang,9)+0);

    ndak seribet yg situ bikin



    [2]
    lagian, tuh fungsi random juga salah logika

    <?php
    function RandUnik($panjang) {
       $pstring = "0123456789";
       $plen = strlen($pstring); // plen = 10
          for ($i = 1; $i <= $panjang; $i++) {
              $start = rand(0,$plen); // random 0-10 ... semisal dapet 10
              $unik.= substr($pstring, $start, 1);
              // substr( '0123456789' , 10 , 1 ) ??? index string mulai dari 0, index ke-10 kagak ada
              // gara-gara dapet index 10 itu yg bikin return nya bisa 1 atau 2 digit
              // plen bisa di -1, tapi itu bukan solusi, cuma menutup masalah ... baca penjelasan di bawah
          }
        return $unik;
    }
    ?>



    [3]
    ini koding apa ya ?

    $totbayar = $total + $ongkos + 1000; // totalbayar numerik

    $uang = substr($totbayar,0,strlen($totbayar)-3);
    // uang string ???
    // ngapain kagak $uang = round($totbayar,-3); ... pembulatan ke ribuan terdekat, jadi tetep numerik
    // 51123 jadi 51000
    // dan kalo pake round(), bukan + 1000, tapi + 500
    // lagian pemakaian fungsi substr kaya gitu juga kepanjangan, cukup : substr($totbayar,0,-3); ...
    // baca php manual dong

    $uniktrans = RandUnik('3');
    // '3' itu string, waktu dijalankan kagak salah sih, secara php perlakuan variabel nya gak konsisten
    // tapi kalo emang niat dipake di for pake 3 bukan '3' ... karena for pakenya numerik

    $totbayar = $uang."".$uniktrans;
    // boros amat nulis syntax ... gini aja napa : $totbayar = $uang.$uniktrans;
    // tapi, totbayar ini harusnya kalo konsisten, seharusnya diperlakukan juga sebagai numerik
    // totbayar awal numerik, misal 51123
    // uang numerik karena dihitung pake round, misal jadi 51000
    // uniktrans, kalo cuma pake rand() yg simple (cara gw) itu juga numerik, misal dapet 345
    // jadi bisa : $totbayar  = $uang + $uniktrans; ... jadi dah 51000 + 345 = 51345

    jadi kalo disederhanakan cukup :
    $totbayar = round( $total + $ongkos + 500 , -3 ) + rand( 1 , 999 );
    atau kalo kode random nya mau disimpan :
    $uniktrans = rand( 1 , 999 );
    $totbayar = round( $total + $ongkos + 500 , -3 ) + $uniktrans;

    kagak pake ribet



    [4]
    masalah : Unik Transfer : 48
    yg seharusnya : Total Transfer : Rp. 51.048
    malah jadi : Total Transfer : Rp. 51.848

    yg pertama karena index 10
    yg kedua karena *ini perkiraan gw, tapi yakin 99%*, fungsi format_angka() juga salah

    kenapa salah ?
    51000, dibuang 3 digit terakhir pake substr jadi 51, concat dgn random '48', jadi : 5148

    kalo alur format_angka() bener, dengan input : 5148
    mestinya yg keluar : 5.148
    meskipun hasilnya sama-sama salah ... tapi alur bener
    dibanding hasil : 51.848
    ini hasil salah, dan alur pasti juga salah

    masalah format angka : http://www.diskusiweb.com/discussion/43263/format-angka-menjadi-rupiah



    [5]
    btw, coba set error reporting ke E_ALL dan nyalakan display_error
    tuh fungsi RandUnik pasti menghasilkan
    Notice: Undefined variable: unik in script_name on line line_number
    karena variabel unik belum pernah didefinisikan sebelumnya dan langsung dipake

    sebelum dipake, biasakan menginisialisasi value variabel

    tapi kalo fungsi random diubah pake cara gw, abaikan masalah ini



    [6]
    sebenernya ini masalah alur proses
    di transaksi penjualan, kode unik itu bukan random, tapi angka berurut
    pembeli I dapet kode unik 0, pembeli selanjutnya dapet kode unik 1, dan seterusnya
    kalo kode unik sudah sampai angka maksimum 999, yg ke 1000 balik dapet angka 0

    paling gampang dihitung dari modulus 1000 id transaksi

    kenapa ?
    karena kode unik ini dipake untuk konfirmasi pembayaran
    tujuan ada kode unik ini utk memudahkan pengecekan jumlah nominal yg masuk
    jadi bisa pake WHERE pembayaran="$nominal" AND MOD(id,1000)="$kodeunik"
    kalo random :
    - id transaksi pasti unik, biasanya pake autoincrement
    - serandom-randomnya angka, tetep bisa sama
    - semisal pembeli 1 dapet kode random 345, nominal belanja 50000 , id transaksi 1001
    - kebetulan pembeli ke 3 juga sama dapet kode random 345 dan kebetulan belanjanya juga 50000 , id transaksi 1003
    bagaimana pengecekan pembayarannya ?
    WHERE pembayaran="$nominal" AND kodeunik="$kodeunik" ? jelas bakal salah




    baca pelan-pelan, pahami dolo baik-baik, step-by-step
    itu gw bukan cuma koreksi masalah
    tapi juga koreksi alur ama logika
  • edited January 2013
    thanks mas...ini baru konek internet lagi...saya belajar dari buku yang rada menyesatkan nih...haduh
    oke mas saya pelajarin dulu step by step nya..kalo ada kesulitan nanti saya konsultasiin lagi disini ya...makasih banyak masukannya...:
    sekarang mau pelajari dulu :)

    btw...kok itu bisa $plen nya jadi 10 ya mas ?
  • edited January 2013
    $plen jadi 10 ?

    kan asalnya dari sini :

    $pstring = "0123456789"; // string ini kan panjangnya 10 karakter
    $plen = strlen($pstring); // otomatis fungsi strlen hasilnya pasti juga 10 ... jadi plen = 10

    strlen kan fungsi utk mendapatkan panjang suatu string
    kalo string nya sepanjang 10 karakter, ya hasil strlen pasti juga 10

    dipake dibawahnya
    $start = rand(0,$plen); // random 0-10 ... itu mah dapet nya antara 0,1,2,3,4,5,6,7,8,9,10
  • edited January 2013

    mas bahas satu persatu mulai dari yang paling ringan dulu ya, biar saya mengerti dan mudah2an bisa pintar seperti mas nya :)

    itu cara bikin random nya supaya bisa jadi librari gimana ya ? saya sudah coba bikin seperti ini :

    1.<?php
    function RandUnik($random) {
    $random = rand(1, 999);
    }
    return $random
    ?>


    2. <?php
    function RandUnik() {
    $random = rand(1, 999);
    }
    return $random
    ?>


    3. <?php
    function RandUnik() {
    $random = rand(1, 999);
    }
    ?>

    gak ada yang benar satupun...gak ada yang kecetak di Halaman Konfirmasi Pembelian nya..saya belum merubah codingnya, masih pake coding yang diatas.

  • edited January 2013
    [5]
    btw, coba set error reporting ke E_ALL dan nyalakan display_error
    tuh fungsi RandUnik pasti menghasilkan
    Notice: Undefined variable: unik in script_name on line line_number
    karena variabel unik belum pernah didefinisikan sebelumnya dan langsung dipake

    sebelum dipake, biasakan menginisialisasi value variabel

    tapi kalo fungsi random diubah pake cara gw, abaikan masalah ini
    cara buat menginisialisasi variabelnya gimana ya mas ?
    itu kan dari $uniktrans diambil dari fungsi RandUnik, cara mendefinisikannya bagaimana kalo dengan contoh coding saya diatas ?

    oh iya ini sekalian fungsi format_angka nya saya tampilin :

    fungsi format_angka($angka) {
        $hasil =  number_format($angka,0, ",",".");
        return $hasil;

    kayanya memang ada yang salah dari format_angka ini, kalo disaat menentukan harga produk, menghitung jumlah harga produk (misal produk1+produk2+produk3) gak ada masalah...masalahnya kalo sudah di $totalbayar, digitnya selalu berkurang, saya kira ini masalah dengan RandUnik nya..tapi ternyata di format_angka nya juga bermasalah

    saya baru belajar pemrograman baru ini, sekalinya beli buku malah banyak yang salah logikanya dan juga menggunakan register global ON...saya beli buku ini karena ada studi kasus penjualan nya, biar bisa jadi referensi saya menggarap Kerja Praktik saya..jadi saya belum punya logika sendiri...saya masih berkutat dengan memahami kegunaan2 syntax di php itu untuk apa dan bagaimana menggunakannya...belum bisa menentukan untuk membuat program dengan logika sendiri...makanya saya mencontoh dari buku.tapi nanti kalo KPnya udah kelar, sambil nunggu liburan akan.saya coba ubah dengan Register Global OFF
  • edited January 2013
    wakakakakak ... kebalik ... mulainya dari yg nomer [6] :))

    [6]
    kode unik ini harusnya bukan random, tapi angka urut

    pahami dulu to ...

    kalo pake angka random, dari 1000 transaksi berurut, hitungan matematika pun cuma bilang "kemungkinan" bahwa 1 angka muncul 1 kali ... artinya yg namanya kemungkinan bisa aja meleset, dari 1000 bisa muncul kode kembar

    sementara kalo pake kode berurut, dari 1000 transaksi "pasti" tidak ada yang kembar
    kode sama akan terjadi di 1000 transaksi berikutnya, soalnya emang berulang

    pilih mana ? "mungkin" atau "pasti" ?

    kalo gw milih "pasti"

    putusin dolo yg ini
    tetep ngeyel pake random dengan resiko kode unik kembar dan bermasalah di pengecekan konfirmasi bayar
    atau sekalian ubah ke angka berurut



    [1]
    kalo masalah bikin fungsi, ya jelas salah semua, definisi fungsi pan syntax nya :

    function nama_fungsi ( parameter_1, parameter_1, parameter_n ) {
    // proses di dalam fungsi
    // return hasil
    }

    return ada di dalam fungsi, bukan diluar fungsi kaya yg situ buat
    lalu jumlah parameter terserah, sesuai butuh, kalo butuh satu ya satu aja
    kalo kagak butuh ya kagak perlu ada parameter

    kalo liat yg dipake cuma : rand(1,999)
    kagak perlu ada parameter

    cuma masalah letak return yg diluar fungsi



    [4]
    yg masalah format angka, kagak salah, itu bener
    gw malah penasaran kok bisa 5148 jadi 51.848

    itu beneran kejadian kaya gitu ? atau situ salah tulis ?
  • edited January 2013
    apes gara2 modem rusak jadi gak bisa sering2 online, baru dapet pinjeman modem lagi (kudu beli ganti modem secepatnya nih),,,padahal jarang2 bisa ketemu orang pinter mau berbaik hati ngajarin secara rinci kaya gini...

    iya mas, saya salah bikin fungsi nya...lagi trus saya cari2 di internet...cara membuat fungsi..hehe
    saya udah coba bikin pake ini...

    <?php
    function RandUnik() {
    $random = rand(001, 999);

    return $random;
    }
    ?>

    masih ketemu random 2 digit...tapi emang gak sesering fungsi random yang saya dapet dari buku...saya reload halaman sampe 40x baru nemu tuh random 2digit...


    "pilih mana ? "mungkin" atau "pasti" ?"
    saya juga pilih pasti mas, pengennya saya bikin seperti itu, karena ga dapet contohnya jadi saya gak ngerti bikin awalnya dari mana...tapi saya mau coba buat pelan2 dulu.

    "paling gampang dihitung dari modulus 1000 id transaksi
    "

    berarti saya harus membuat fungsi dengan modulus 1000 dari ID transaksi ya mas ?
    saya masih bingung cara bikinnya, kalo ID transaksi kan udah saya set TR-0001, TR-0003, TR-0004, dst ... lalu cara membuat modulus 1000 nya saya masih bingung...:D

    [4]
    Iya itu kejadiannya kalo Angka unik nya 3 Digit hasilnya ngaco...
    Total Belanja : Rp. 510.000
    Biaya Kirim : Rp. 7.500
    Unik Transfer : 48
    Total Transfer : Rp. 51.848
    (padahal harusnya Rp.518.480)
    kemaren sempet ane printscreen hasil perhitungannya..:
    image
  • edited January 2013
    [4]
    ya kagak, bener script nya, situ yg kagak paham

    Total Belanja : Rp. 510.000
    Biaya Kirim : Rp. 7.500
    Unik Transfer : 48
    Total Transfer : Rp. 51.848
    (padahal harusnya Rp.518.480) ... salah, harusnya 518.048

    ini masih pake yg substr ? dan masih di + 1000 ?
    kagak diganti pake cara gw pake round ?

    510000 + 7500 + 1000 = 518500
    substr( 518500 , 0 , -3 ) = "518"
    concat "518" . 48 = "51848"
    format angka = "51.848"

    kalo kaya gini, bukan salah script

    kalo ngeyel mau pake model string, jangan pake model random 1-999, tapi yg 001-999

    510000 + 7500 + 1000 = 518500
    substr( 518500 , 0 , -3 ) = "518"
    concat "518" . "048" = "518048" // kagak mungkin dapet 48, karena ada leading zero, pasti "048"
    format angka = "518.048"

    hasilnya bakal sama kalo pake plen - 1
    tapi secara proses malah jadi bertele-tele

    function RandUnik($panjang) {
       $pstring = "0123456789";
       $plen = strlen($pstring) - 1; // plen = 9
          for ($i = 1; $i <= $panjang; $i++) {
              $start = rand(0,$plen); // random 0-9 , hasilnya 0,1,2,3,4,5,6,7,8,9
              $unik.= substr($pstring, $start, 1);
          }
        return $unik;
        // return identik dengan hasil proses sprintf('%03d', rand(1,999));
        // tapi proses diatas lebih panjang ... berbaris-baris perintah dibanding 1 baris perintah
        // kalo 48, return sama-sama "048"
    }



    kalo pake round, dan konsisten dihitung sebagai numerik, dan di + 500

    510000 + 7500 + 500 = 518000
    round( 518000 , -3 ) = 518000
    518000 + 48 = 518048
    format angka = "518.048"

    kalo gw lebih milih yg pake round, kagak perlu proses buat nambah leading zero



    [6]
    TR-0001, TR-0003, TR-0004, dst itu asalnya dari mana ?



    [7]
    ini cuma buat tambahan informasi aja

    pembeli kalo baca pesan ini (kalo sudah bener) pasti bingung

    Total Belanja : Rp. 510.000
    Biaya Kirim : Rp. 7.500
    Unik Transfer : 048
    Total Transfer : Rp. 518.048

    gw belanja 510.000 ... ok
    gw mesti nambah ongkos kirim 7.500 ... ok
    ok dah, gw nambah 48 rupiah buat kode ... ok

    gw total yg mesti gw bayar : 510.000 + 7.500 + 48 = 517.548
    lho kok jadi 518.048 ?

    yg punya toko mah paham, admin juga paham, yg koding juga paham ... yg beli ?

    mestinya bentuk infonya kaya gini :

    Total Belanja : Rp. 510.000
    Biaya Kirim : Rp. 7.500
    Sub Total : Rp. 517.500
    Pembulatan :
    Rp. 518.000
    Unik Transfer : 048
    Total Transfer : Rp. 518.048

    infonya sudah cukup buat pembeli, supaya pembeli kagak salah paham
  • udah mas,,,saya ganti pake Round :)
    $ongkos    = $hsl_plg['ongkos_kirim'];
                    $subtotal = $total + $ongkos;
                    $pembulatan = $subtotal + 500;
                    $uniktrans = RandUnik('1,999');
                    $totbayar  = round( $pembulatan, -3 ) + $uniktrans;;



    image

    Enak pake cara ini memang mas...lebih paham ane jadinya...thanks
    Lanjut ke no 6 ya...(saya ketik dulu)
  • edited January 2013
    Lanjut no [6], karena saya berniat milih yang PASTI
    Itu didapatkan dari kode otomatis (kdauto), didapatnya dari fungsi ini :

    function kdauto($tabel, $inisial){
    $struktur = mysql_query("SELECT * FROM $tabel");
    $field = mysql_field_name($struktur,0);
    $panjang = mysql_field_len($struktur,0);
     
    $qry = mysql_query("SELECT max(".$field.") FROM ".$tabel);
    $row = mysql_fetch_array($qry);
    if ($row[0]=="") {
    $angka=0;
    }
    else {
    $angka = substr($row[0], strlen($inisial));
    }
     
    $angka++;
    $angka =strval($angka);
    $tmp ="";
    for($i=1; $i<=($panjang-strlen($inisial)-strlen($angka)); $i++) {
    $tmp=$tmp."0";
    }
    return $inisial.$tmp.$angka;
    }


    terus terang saya masih bingung menerjemahkan coding diatas, cuma tau inti nya aja itu buat bikin kode otomatis.
    untuk insert ke databasenya jadi :

    $kode= kdauto("pemesanan","TR-");
    $sql = "INSERT INTO pemesanan SET
    no_pesan='".$kode."',
    uid_plg='".$_SESSION['SES_UIDPLG']."',
    tanggal='".date('Y-m-d')."',
    jam='".date('G:i:s')."',
    status_bayar='PESAN',
    unik_transfer='".$_POST['TxtUnikH']."'";

    dari situ TR-0001,TR0002,TR-0003...dst (Auto Increment)

    kalo mau bikin dengan modulus 1000 dari id transaksi berarti model nomor transaksinya harus dirubah ya mas ?
    <pre Lang> nya kok gak  kebawah ya coding PHP nya, malah kesamping ???

  • [8] sekalian aja mau nanya mas mumpung lagi online, Dosen Pembimbing saya minta supaya ada fasilitas untuk mengkonfirmasikan ini ke pelanggan :

    Total Belanja : Rp. 510.000
    Biaya Kirim : Rp. 7.500
    Sub Total : Rp. 517.500
    Pembulatan :
    Rp. 518.000
    Unik Transfer : 048
    Total Transfer : Rp. 518.048
    Kirim Ke Rekening : Sekian
    Keterangan : blablabla

    Dikasih 2 clue sama dosen saya, mau dikirimkan ke email pelanggan, atau cetak PDF di website nya...boleh pilih salah satu, tapi dua2nya saya belum ngerti caranya. Kira2 buat kemampuan saya yang masih segini, paling lebih mudah itu yang mana ya ? belum ngerti mulai bikinnya gimana
  • Mas Boo kemana ya ? saya masih haus akan ilmu anda nih
    [-O<
    kalo untuk yang no 8 sudah clear, saya pake nya kirim email saja, ternyata cukup mudah kalo sudah di upload di web hosting..kalo yang cetak PDF ga mudeng :D
    saya masih penasaran dengan nomor unik menggunakan Modulus 1000 nya...:)
  • edited January 2013
    ini
     	$angka	=strval($angka); 
    $tmp ="";
    for($i=1; $i<=($panjang-strlen($inisial)-strlen($angka)); $i++) {
    $tmp=$tmp."0";
    }
    return $inisial.$tmp.$angka;
    pake sprintf() aja napa ...

    return nya balikin array saja ...
     	$panjang-=strlen($inisial);
    return array( sprintf($inisial.'%0'.$panjang.'d', $angka), $angka % 1000 );
    itu nanti dapetnya $kode[0], itu yg pake "TR-"
    $kode[1] itu utk kode unik
  • $random = (rand()%999);
    print("Angka acak antara 0 dan 999 adalah: $random");
Sign In or Register to comment.