Postingan lainnya
Saat hapus data, eror di bagian tampilan "Deprecated: substr(): "
Hallo selamat pagi teman2, saya mau tanya, saya ada masalah di bagian kode otomatis. jadi kode nya itu tampil, nah saat saya hapus data muncul eror di bagian tampilannya. trmksih..
kode
<?php
$q = "SELECT max(kode_buku) AS maxKode FROM tb_perpustakaan";
$hasil = mysqli_query($con, $q);
$data = mysqli_fetch_array($hasil);
$kodeBuku = $data['maxKode'];
// ambil angka/bilangan
$noUrut = (int) substr($kodeBuku, 3, 3);
// bilangan ini di tambah satu
$noUrut++;
// membentuk kode baru
$char = "B-";
$kode = $char . sprintf("%03s", $noUrut);
// echo $kode;
?>
<form action="" method="POST" enctype="multipart/form-data">
<b>Kode Buku:</b>
<input type="text" name="kode_buku" value="<?php echo $kode ?>" class="form-control" readonly><br /><br />
tampilan
Screenshot 2022-09-22 101411.jpg
2 Jawaban:
<div>Yang substr nya. Ku tebak value2 nya kayak gini kan ya "B-123"<br><br>Jadi parameter kedua substr nya harusnya dimulai 2 bukan 3.</div><pre>substr($kodeBuku, 2, 3)</pre><div><br>Soalnya index dimulai dari 0</div>
Tanggapan
bisa bg. tp wktu data nya dihapus jd eror dia bg
Error kek gmn. Msh sama errorny?
Kalau yg itu mah buat aja pengecekan pake function isset ($data) atau mungkin empty($data) kalau gak salah
$noUrut++; di bawah sini bg di tambhin isset nya? if(isset($data) gitu bg?
kan yang kolom maxKode pengen benaran kosong data nya tapi lanjut. Jadi mulai dari $kodeBuku = ... sampai $kode = ... dimasukkin ke dalam if isset($data)
tambahin juga else nya buat ngasih value $kode = ""
if(isset($data)){ $kodeBuku = $data['maxKode']; $noUrut = (int) substr($kodeBuku, 2, 3); $noUrut++; $char = "B-"; $kode = $char . sprintf("%03s", $noUrut); } else { echo "Data Tidak Masuk"; }
gini kah bg?
<div>Function PHP yang bernama substr() sampai dengan saat ini belum berstatus 'deprecated'.<br>Kemungkinan besar Anda ada menggunakan method JS yang bernama substr() di suatu tempat.<br>Method JS yang bernama substr() memang sudah berstatus 'deprecated' dan Anda harus menggantinya dengan substring(). Cara pemakaiannya sedikit berbeda, parameter ke-3 dari substr() adalah panjang sub string yang diinginkan, sedangkan parameter ke-3 dari substring() adalah end position yang diinginkan.<br><br>EDIT: Sorry. Kemarin screenshot anda tidak bisa muncul di komputer saya. Anda juga tidak menyebut pesan errornya dengan lengkap di bagian judul.<br><br>Deprecated substr() passing null to parameter #1 of type string is deprecated.<br><br>Kemungkinan besar anda menjalankan koding di atas saat tabel masih kosong. Jadi apa isi dari 'maxKode'? Masih null. Akibatnya error. Harusnya pakai if dulu untuk mengecek apakah $kodeBuku empty atau tidak. Jika empty, maka nomor urut dikasih 1; jika tidak empty, barulah lakukan langkah-langkah di bawah.<br><br>NB: benar.. substr anda harusnya isi angka 2 di parameter #2 nya. Tetapi bukan itu sih penyebab 'deprecated' nya<br><br></div>
Tanggapan
Okeee sudahh clear bg :)