Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67478 Members, 783 Products, 5290 Topic, 12955 Comments)

Membuat penjumlahan ID (primary key) otomatis dari Kode Organisasi

Dibuat
Login Terakhir 4 Bulan lalu,
Telah Dilihat 975 Kali
pramadians Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2.  
  3. Saya ingin membuat penjumlahan id otomatis pada table berdasarkan kode organisasi. Misalnya organisasi A mempunyai kode organisasi = 16. Maka ketika user menginsert data maka id pada tabel tsb = 1601, begitu seterusnya. (Tabel tidak Auto incerment).
  4. pada sistem yg sedang berjalan saya baru bisa menampilkan kode organisasinya saja. Adapun script tersebut adalah sebagai berikut :
  5.  
  6. <?php foreach ($uidt->result() as $IDfier) { ?>
  7. <div class="form-group">
  8. <label>ID Laporan1</label>
  9. <input class="form-control" id="id_lap1" name="id_lap1" readonly="readonly" type="text"
  10. value="<?php echo $IDfier->id_organisasi."4";?>"><br>
  11. <?php echo form_error('id_lap1', '<span class="error">', '</span>'); ?>
  12. </div>
  13. <?php } ?>
  14.  
  15. Dan Hasil nya saya lampirkan pada file.
  16.  
  17. Bagaimana agar id tersebut menjadi 1601. Dan input data selanjutnya id nya bertambah (1602). Terimakasih
Ada 1 File Kiriman :
1. id.jpg (34 KB)

Ada 7 Jawaban

Bukhori Muslim
commented on 22 Mei 2019 08:41:29
  1. Assalamualaikum,.. yang perlu diketahui itu di insert ke table apa,
  2. misal jika di insert ke table "organisasi", jadi tinggal dihitung saja sudah ada berapa record disana dan tambahkan 1.
  3. Berikut kodingnya :
  4.  
  5. $jml = mysql_num_rows(mysql_query("SELECT * FROM organisasi"))+1;
  6. echo "$row[kode_organisasi]".sprintf("%02d", $jml);
pramadians
commented on 22 Mei 2019 09:19:57
  1. Assalamu'alaikum Pak Bukhari...
  2.  
  3. Terimakasih sebelumnya atas jawaban yg telah bapak berikan. saya menginsertnya ke tabel laporan pak dengan id_lap1 sebagai primary nya. Berdasarkan script saya tersebut, dimana harus di letakkan script yang telah bapak berikan itu. Terimakasih
Bukhori Muslim
commented on 22 Mei 2019 09:27:58
  1. Assalamualaikum,.. tempatkan di atas query insert, jadi untuk value dari ID nanti insert nilai ini :
  2.  
  3. $id = $row['kode_organisasi'].sprintf("%02d", $jml);
  4. mysql_query("INSERT INTO organisasi (id, nama, dll) VALUES ('$id','$_POST[nama]','$_POST[dll]')");
pramadians
commented on 22 Mei 2019 10:28:54
  1. Assalamualaikum,..
  2.  
  3. Terjadi error pak..
  4.  
  5. Berikut saya share Model, View dan Controller nya.
  6.  
  7. ==============================================================
  8. Model (Aktifrecord.php)
  9.  
  10. function userIDT($tes){
  11. $query = $this->db->query('SELECT * FROM user AS us JOIN tb_organisasi AS org ON us.id_organisasi=org.id_organisasi WHERE us.id_organisasi="'.$tes.'"');
  12. return $query;
  13. }
  14. =====================================================================
  15.  
  16. View (tambah_data.php)
  17.  
  18. <?php foreach ($uidt->result() as $IDfier) { ?>
  19. <div class="form-group">
  20. <label>ID Laporan1</label>
  21. <input class="form-control" id="id_lap1" name="id_lap1" readonly="readonly" type="text"
  22. value="<?php echo $IDfier->id_organisasi."4";?>"><br> // (Disini letak permasalahannya pak)
  23. <?php echo form_error('id_lap1', '<span class="error">', '</span>'); ?>
  24. </div>
  25. <?php } ?>
  26. ======================================================================
  27.  
  28. Controller
  29.  
  30. public function tambah_laporan(){
  31. $this->_is_opd();
  32. $tes = $this->session->userdata['id_organisasi'];
  33. $where = array('id_organisasi' => $tes);
  34. $data = array(
  35. 'user' => $this->aktifrecord->getByParam('user', $where)
  36. );
  37.  
  38. $this->load->library('form_validation');
  39. $this->form_validation->set_rules('tanggal', 'Tanggal', 'required');
  40.  
  41. if ($this->form_validation->run() === FALSE) {
  42. $data = array(
  43. 'dafunit' => $this->aktifrecord->read('dafunit'),
  44. 'tb_organisasi' => $this->aktifrecord->read('tb_organisasi'),
  45. 'tb_program' => $this->aktifrecord->read('tb_program'),
  46. 'tb_subprogram' => $this->aktifrecord->read('tb_subprogram'),
  47. 'tb_indikator' => $this->aktifrecord->read('tb_indikator'),
  48. 'tb_urusan' => $this->aktifrecord->read('tb_urusan'),
  49. 'tb_suburusan' => $this->aktifrecord->read('tb_suburusan'),
  50. 'tb_suburusan2' => $this->aktifrecord->read('tb_suburusan2'),
  51. 'tb_suburusan3' => $this->aktifrecord->read('tb_suburusan3'),
  52. 'tb_penandatangan' => $this->aktifrecord->read('tb_penandatangan'),
  53. 'tb_laporan' => $this->aktifrecord->read('tb_laporan'),
  54. );
  55.  
  56. $data['tb_program'] = $this->aktifrecord->selectAllprog($tes);
  57. $tes = $this->session->userdata['id_organisasi'];
  58. $data['uidt'] = $this->aktifrecord->userIDT($tes);
  59.  
  60. $this->load->view('opd/kepala',$data);
  61. $this->load->view('opd/tambah_laporan', $data);
  62. $this->load->view('opd/kaki',$data);
  63.  
  64. }
  65. else{ //else 1
  66. $cek = $this->db->query("SELECT * FROM tb_laporan where id_subprogram='".$this->input->post('subprogram')."' AND id_organisasi='".$this->input->post('id_organisasi')."'");
  67. if ($cek->num_rows()>=1){
  68. echo "<script>alert('Data Kegiatan Sudah Ada!!');</script>";
  69. redirect('opd/tambah_laporan','refresh');
  70. }else{
  71.  
  72.  
  73. $this->load->helper(array('form', 'url'));
  74. //memasukan ke array
  75. $data1 = array(
  76. 'id_lap1' => $this->input->post('id_lap1'),
  77. 'tanggal' => $this->input->post('tanggal'),
  78. 'id' => $this->input->post('id'),
  79. 'id_suburusan' => $this->input->post('id_suburusan'),
  80. 'id_suburusan2' => $this->input->post('id_suburusan2'),
  81. 'id_suburusan3' => $this->input->post('id_suburusan3'),
  82. 'kode_organisasi' => $this->input->post('kode_organisasi'),
  83. 'id_organisasi' => $this->input->post('id_organisasi'),
  84. 'id_program' => $this->input->post('program'),
  85. 'id_subprogram' => $this->input->post('subprogram'),
  86. 'id_indikator' =>$this->input->post('id_indikator'),
  87. 'sasaran' => $this->input->post('sasaran'),
  88. 'sasaran1' => $this->input->post('sasaran1'),
  89. 'sasaran2' => $this->input->post('sasaran2'),
  90. 'sasaran3' => $this->input->post('sasaran3'),
  91. 'nilai1' => $this->input->post('nilai1'),
  92. 'nilai2' => $this->input->post('nilai2'),
  93. 'nilai3' => $this->input->post('nilai3'),
  94. 't_rpjmdk' => $this->input->post('t_rpjmdk'),
  95. 't_rpjmdrp' => $this->input->post('t_rpjmdrp'),
  96. 'c_rpjmdk' => $this->input->post('c_rpjmdk'),
  97. 'c_rpjmdrp' => $this->input->post('c_rpjmdrp'),
  98. 't_rkpdk' => $this->input->post('t_rkpdk'),
  99. 't_rkpdrp' => $this->input->post('t_rkpdrp'),
  100. 'triwulan1_k' => $this->input->post('triwulan1_k'),
  101. 'triwulan1_rp' => $this->input->post('triwulan1_rp'),
  102. 'triwulan2_k' => $this->input->post('triwulan2_k'),
  103. 'triwulan2_rp' => $this->input->post('triwulan2_rp'),
  104. 'triwulan3_k' => $this->input->post('triwulan3_k'),
  105. 'triwulan3_rp' => $this->input->post('triwulan3_rp'),
  106. 'triwulan4_k' => $this->input->post('triwulan4_k'),
  107. 'triwulan4_rp' => $this->input->post('triwulan4_rp'),
  108. 'rc_rkpdk' => $this->input->post('rc_rkpdk'),
  109. 'rc_rkpdrp' => $this->input->post('rc_rkpdrp'),
  110. 'r_rpjmdk' => $this->input->post('r_rpjmdk'),
  111. 'r_rpjmdrp' => $this->input->post('r_rpjmdrp'),
  112. 'tc_rpjmdk' => $this->input->post('tc_rpjmdk'),
  113. 'tc_rpjmdrp' => $this->input->post('tc_rpjmdrp')
  114. );
  115. //tambahkan akun ke database
  116. $id = $this->aktifrecord->create('tb_laporan', $data1);
  117.  
  118. $data2 = array(
  119. 'id_lap' => $this->db->insert_id(''),
  120. 'tanggal' => $this->input->post('tanggal'),
  121. 'id' => $this->input->post('id'),
  122. 'id_suburusan' => $this->input->post('id_suburusan'),
  123. 'id_suburusan2' => $this->input->post('id_suburusan2'),
  124. 'id_suburusan3' => $this->input->post('id_suburusan3'),
  125. 'kode_organisasi' => $this->input->post('kode_organisasi'),
  126. 'id_organisasi' => $this->input->post('id_organisasi'),
  127. 'id_program' => $this->input->post('program'),
  128. 'id_subprogram' => $this->input->post('subprogram'),
  129. 'id_indikator' =>$this->input->post('id_indikator'),
  130. 'sasaran' => $this->input->post('sasaran'),
  131. 'sasaran1' => $this->input->post('sasaran1'),
  132. 'sasaran2' => $this->input->post('sasaran2'),
  133. 'sasaran3' => $this->input->post('sasaran3'),
  134. 'nilai1' => $this->input->post('nilai1'),
  135. 'nilai2' => $this->input->post('nilai2'),
  136. 'nilai3' => $this->input->post('nilai3'),
  137. 't_rpjmdk' => $this->input->post('t_rpjmdk'),
  138. 't_rpjmdrp' => $this->input->post('t_rpjmdrp'),
  139. 'c_rpjmdk' => $this->input->post('c_rpjmdk'),
  140. 'c_rpjmdrp' => $this->input->post('c_rpjmdrp'),
  141. 't_rkpdk' => $this->input->post('t_rkpdk'),
  142. 't_rkpdrp' => $this->input->post('t_rkpdrp'),
  143. 'triwulan1_k' => $this->input->post('triwulan1_k'),
  144. 'triwulan1_rp' => $this->input->post('triwulan1_rp'),
  145. 'triwulan2_k' => $this->input->post('triwulan2_k'),
  146. 'triwulan2_rp' => $this->input->post('triwulan2_rp'),
  147. 'triwulan3_k' => $this->input->post('triwulan3_k'),
  148. 'triwulan3_rp' => $this->input->post('triwulan3_rp'),
  149. 'triwulan4_k' => $this->input->post('triwulan4_k'),
  150. 'triwulan4_rp' => $this->input->post('triwulan4_rp'),
  151. 'rc_rkpdk' => $this->input->post('rc_rkpdk'),
  152. 'rc_rkpdrp' => $this->input->post('rc_rkpdrp'),
  153. 'r_rpjmdk' => $this->input->post('r_rpjmdk'),
  154. 'r_rpjmdrp' => $this->input->post('r_rpjmdrp'),
  155. 'tc_rpjmdk' => $this->input->post('tc_rpjmdk'),
  156. 'tc_rpjmdrp' => $this->input->post('tc_rpjmdrp'),
  157. 'id_lap1' => $this->input->post('id_lap1')
  158.  
  159. );
  160. $id1 = $this->aktifrecord->create('tb_lapreport', $data2);
  161. echo "<script>alert('Insert Data Berhasil.');</script>";
  162. redirect('opd/laporan','refresh');
  163. }
  164. } //end else 1
  165. }
pramadians
commented on 23 Mei 2019 14:37:51
  1. Assalamualaikum,..
  2.  
  3. Mohon pencerahan nya pak Bukhori....
PHPMU.COM Support
commented on 24 Mei 2019 06:41:30
  1. Assalamualaikum,.. saya coba bantu ya, jadi begini berarti :
  2. <?php
  3. foreach ($uidt->result() as $IDfier) {
  4. $jml = $this->db->query("SELECT * FROM tb_organisasi")->num_rows()+1
  5. $id_custom = $IDfier->id_organisasi.sprintf("%02d", $jml);
  6. ?>
  7. <div class="form-group">
  8. <label>ID Laporan1</label>
  9. <input class="form-control" id="id_lap1" name="id_lap1" readonly="readonly" type="text"
  10. value="<?php echo $id_custom; ?>"><br> // (Disini letak permasalahannya pak)
  11. <?php echo form_error('id_lap1', '<span class="error">', '</span>'); ?>
  12. </div>
  13. <?php } ?>
  14.  
  15. namun yang aneh dan membingungkan kenapa di form di atas ada perulangan/looping?
  16. foreach ($uidt->result() as $IDfier) { }
  17. kalau untuk input organisasi baru harusnya kode organisasi gak perlu di looping. :D
pramadians
commented on 24 Mei 2019 08:20:25
  1. Assalamualaikum,..
  2.  
  3. Terimakasih Pak Robby atas bantuan nya. Untuk form diatas kenapa ada perulangan, itu di karena kan bahwa setiap user (45 user) mempunyai hak akses masing2 untuk menginputkan datanya ke tb laporan. Jadi ,, setiap user yg login itu mewakilkan id dari organisasinya. Bgtu menurut perancangan awal saya, maaf kalau terlalu ribet atau rumit karena saya baru berkecimpung di CI. terimakasih
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!