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

[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.

Tanggapan

  • @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 3
    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:
Sign In or Register to comment.