Nomer pendaftaran stuck di angka 1 apabila tgl berubah

Script di dibawah ini akan menghasilkan angka 202110290001, namun bila tgl berubah ke tgl berikutnya dan ada pendaftaran di tgl yg sama, maka akan stuck di angka 202110300001 tidak tergenerate ke 202110300002, dst

Ini models saya:

public function noPendaftaran()
	{
		$kode = $this->db->table('tbl_siswa')
			->select('RIGHT(no_pendaftaran,4) as no_pendaftaran', false)
			->select('LEFT(no_pendaftaran,8) as tanggal', false)
			->orderBy('no_pendaftaran', 'DESC')
			->limit(1)
			->get()
			->getRowArray();

		// Jika no perndaftaran kosong mulai masukan no pendaftaran, dan jika sudah ada, mulai dari 1
		if (empty($kode['no_pendaftaran'])) {
			$no_urut = 1;
		} else {
			if ($kode['tanggal'] == date('Ymd')) {
				$no_urut = intval($kode['no_pendaftaran']) + 1;
			} else {
				$no_urut = 1;
			}
		}

		// Format nomer pendaftaran
		$tgl = date('Ymd');
		// Ambil 4 angka dr belakang, di mulai dari 0
		$batas = str_pad($no_urut, 4, "0", STR_PAD_LEFT);
		$no_pendaftaran = $tgl . $batas;
		return $no_pendaftaran;
	}

Bagaimana caranya agar tiap beda tgl reset ke no 1 dan bila ada pendaftar yg mendaftar di tgl yg sama maka akan tergenerate ke no 2 dst?

avatar Catatonic32
@Catatonic32

5 Kontribusi 0 Poin

Diperbarui 2 tahun yang lalu

1 Jawaban:

<div>mohon coba debuging dulu,, bener atau tidaknya,,,</div><pre> if (empty($kode['no_pendaftaran'])) { $no_urut = 1; // &lt;&lt;jika tidak ada pendaftar } else { if ($kode['tanggal'] == date('Ymd')) { $no_urut = intval($kode['no_pendaftaran']) + 1;
} else { $no_urut = 1; // &lt;&lt;jika ada tapi kemarean } }</pre><div><br>kemungkinan karena function ini belom ter load saat input data ke 2,,, jadi dia masi menganggap jika ada data,, tapi kemarean..,<br>coba kalo di reload dulu setelah input 1x hari ini, bisa benar ato tidak,,, kalo bisa bener,,, bisa di kasi script .load,,, semoga membantu ^^</div>

avatar yukari06
@yukari06

137 Kontribusi 66 Poin

Dipost 2 tahun yang lalu

Login untuk ikut Jawaban