Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

[ask php] Nomor Surat Berdasarkan Nomor Halaman Agenda surat

Mohon bantuanya cara mendapatkan nomor surat otomatis di php gimana?
formatnya
421/02.01/NamaInstansi

421 = kode tetap tidak di rubah2
02 = nomor urut surat
01 = nomor halaman agenda (jika nomor urut surat sudah mencapai 20 maka halaman surat berpindah ke halaman berikutnya (+1) tapi nomor urut surat tetap berlanjut.
NamaInstansi = kode tetap tidak di rubah2.

Comments

  • @AbdulHaris itu cukup dengan menggunakan logika sederhana di php.
    Logikanya :
    1. Check di database nomor terakhir kemudian di simpan ke variable cth ($a = 02, $b = 01)
    2. kemudian di beri kondisi if($b == 20) maka set variable $b = 1 dan $a+=1
    3. Kemudian tinggal di tampilkan & di simpan ke database.
  • bisa contoh coding mas???
    soalx baru belajar :(
  • @AbdulHaris saya masih binggung sih sama penjelasan (jika nomor urut surat sudah mencapai 20 maka halaman surat berpindah ke halaman berikutnya (+1) tapi nomor urut surat tetap berlanjut.jadi kalo sudah masuk 20 - 999 nomor agendanya tetap 2? contoh 421/99.02 ? & untuk nomornya btsnya brp angka 1-99/999?
    // untuk penyimpanan data nomor itu tergantung struktur database anda, bisa di bagi 2 atau digabung menjadi 1 saja yg disimpan ke database, contoh 0201 / 02 , 01
    // connection database
    // Ambil data terakhir lalu simpan ke variable
    $urut = $data['urut']; // 19
    $agenda = $data['agenda']; // 1
    if(($urut+1) == 20)
    {
    $agenda+=1;
    }
    if($urut < 10)
    {
    $urut = "0".$urut; // untuk 01-09 set juga untuk agenda
    }
     
    //save ke database
     
    $nomor = "421/".$urut.".".$agenda."/"."NamaInstansi";
  • setelah nomornya mencapai 40 maka pindah lagi jadi halaman 3
  • edited April 2017
    maaf ini kode nya tapi nomor urutnya hanya sampai nomor 10
    mohon bantuanya :smiley:

    <?php
    $data_agenda = mysql_fetch_array(mysql_query("SELECT * FROM agenda_surat WHERE urut_surat IN (SELECT MAX(urut_surat) FROM agenda_surat)"));
    $urut = $data_agenda['urut_surat'];
    $agenda = $data_agenda['halaman_agenda'];
    if(($urut++) == 20)
    {
    $agenda+=1;
    }
    if($urut < 10)
    {
    $urut = "0".$urut;
    }
    if($agenda < 10)
    {
    $agenda = "0".$agenda;
    }
    ?>

  • @AbdulHaris berarti berlaku kelipatan sampai 200
    $data_agenda = mysql_fetch_array(mysql_Something is wrong("SELECT * FROM agenda_surat WHERE urut_surat IN (SELECT MAX(urut_surat) FROM agenda_surat)"));
    $urut = $data_agenda['urut_surat']+1;
    $agenda = $data_agenda['halaman_agenda'];
     
    $chk = array("20","40","60","80","100","120","140","160","180","200");
    if($urut < 10)
    $urut = "0".$urut;
    else{
    foreach($chk as $a)
    {
    if($urut == $a)
    {
    $agenda+=1;
    break;
    }
    }
    }
     
    if($agenda < 10)
    $agenda = "0".$agenda;
     
    echo $urut.$agenda;

  • its work gan
    terima kasih banyak atas bantuannya :smile:
  • gan.. bagaimana databasenya...
    sy buat seperti nee..
    db_suratmasuk
    tgl masuk, no surat, tgl surat, perihal, no agenda....
    sya mau no agenda otomatis sma seperti pertanyaan di atas....
Sign In or Register to comment.