Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Script generate pin tidak work dengan semestinya
Mohon bantuannya. saya mencoba script generate pin di CI yang saya dapat dari tutorial <a href=' http://mfikri.com/artikel/Membuat-Kode-unik-berdasarkan-tanggal-dengan-Codeigniter.html '> http://mfikri.com/artikel/Membuat-Kode-unik-berdasarkan-tanggal-dengan-Codeigniter.html </a>. di tutorial tsb pin berjumlah 10 digit, sedangkan format pin yang ingin sya buat berjumlah 8 digit, berisi tanggal saat input data+nomor urut (cth : 26081901). script di model nya saya ubah sedikit seperti ini :
CONTROLLER (pemesanan_penelitian_coba.php)
public function add(){
$this->load->view('frontend/pemesanan_penelitian_coba/create');
}
public function proses(){
if(isset($_POST['add'])){
$this->pesan_penelitian_coba_m->tambah();
}elseif (isset($_POST['edit'])) {
$inputan=$this->input->post(null, TRUE);
$this->pesan_penelitian_coba_m->ubah($inputan);
}
redirect('frontend/pemesanan_penelitian_coba/');
}
MODEL (pesan_penelitian_coba_m.php)
function get_pin(){
$q = $this->db->query("SELECT MAX(RIGHT(pin,3)) AS kd_max FROM pemesanan_izin_penelitian WHERE DATE(tanggal_pemesanan)=CURDATE()");
$kd = "";
if($q->num_rows()>0){
foreach($q->result() as $k){
$tmp = ((int)$k->kd_max)+1;
$kd = sprintf("%02s", $tmp);
}
}else{
$kd = "01";
}
date_default_timezone_set('Asia/Jakarta');
return date('dmy').$kd;
}
public function tambah(){
$nmr_pin=$this->get_pin();
$param=array(
'email' =>$this->input->post('email'),
'semester' =>$this->input->post('semester'),
'kode_jenis' =>'DL',
'tujuan' =>$this->input->post('tujuan'),
'perihal' =>$this->input->post('perihal'),
'tema_penelitian' =>$this->input->post('tema_penelitian'),
'nama_dosen' =>$this->input->post('nama_dosen'),
'pin' =>$nmr_pin,
'status' =>'1',
);
$this->db->insert('pemesanan_izin_penelitian', $param);
}
hasil pin saya seperti ini, pada pertama submit data pin ter-generate 10 digit tetapi pada kali kedua dan seterusnya pin tergenerate 11 digit (lihat pada gambar, 280619902). salahnya dimana ya?
view-nya tidak saya sertakan karena pinnya ingin saya buat agar tidak tampil di form. hanya generate kemudian langsung simpan database. terimakasih banyak :)
1 Jawaban:
Jawaban Terpilih
coba max rightnya ganti 2, sepertinya berpengaruh <pre> "SELECT MAX(RIGHT(pin,2)) AS kd_max FROM pemesanan_izin_penelitian WHERE DATE(tanggal_pemesanan)=CURDATE()" </pre>