Postingan lainnya
Error saat get data di array php aplikasi absensi
Halo selamat siang, saya sedang coba buat aplikasi untuk absensi karyawan, nah saat saya sedang coba input data dari array yang saya buat, hasilnya ada error seperti ini. Mohon bantuannya teman teman untuk mengatasi error tersebut.
<a href='https://prnt.sc/q3n62m'>Error</a>
CODING UNTUK FORM ---------------------------------------------------------
<form action="aksi_absensi.php?act=create" method="post" class="m-form m-form--fit m-form--label-align-right">
<table class="m-datatable" id="html_table" width="100%">
<thead>
<tr>
<th>No</th>
<th>NIK</th>
<th>Nama karyawan</th>
<th>Jabatan</th>
<th>Masuk</th>
<th>Sakit</th>
<th>Ijin</th>
<th>Absen</th>
<th>Lembur</th>
<th>Potongan</th>
</tr>
</thead>
<tbody>
<?php
$no=1;
$sqlCreate = mysqli_query($conn, "SELECT * FROM tb_karyawan
INNER JOIN tb_jabatan ON tb_karyawan.id_jabatan = tb_jabatan.id_jabatan
WHERE NOT EXISTS (SELECT * FROM tb_absensi WHERE bulan = '$bulantahun' AND
tb_karyawan.nik=tb_absensi.nik)");
$jmlKaryawan = mysqli_num_rows($sqlCreate);
while ($rowC = mysqli_fetch_array($sqlCreate)) { ?>
<input type="hidden" name="bulan[]" value="<?php echo $bulantahun; ?>">
<input type="hidden" name="nik[]" value="<?php echo $rowC['nik']; ?>">
<tr>
<td><?php echo $no;?></td>
<td><?php echo $rowC['nik']; ?></td>
<td><?php echo $rowC['nama_karyawan']; ?></td>
<td><?php echo $rowC['nama_jabatan']; ?></td>
<td><input type="text" name="masuk" class="form-control col-6" value="0" required></td>
<td><input type="text" name="sakit" class="form-control col-6" value="0" required></td>
<td><input type="text" name="ijin" class="form-control col-6" value="0" required></td>
<td><input type="text" name="absen" class="form-control col-6" value="0" required></td>
<td><input type="text" name="lembur" class="form-control col-6" value="0" required></td>
<td><input type="text" name="potongan" class="form-control col-10" value="0" required></td>
</tr>
<?php $no++;
} if ($jmlKaryawan > 0) { ?>
</tbody>
<button type="submit" class="btn btn-primary btn-sm"><i class="la la-save"></i> Simpan</button> | <button type="reset" class="btn btn-danger btn-sm"><i class="la la-times-circle"></i> Batal</button>
<br><br>
<?php
}else{ ?>
<div class="alert alert-danger" role="alert">
<strong>MAAF!</strong> Data bulan <strong style="color: yellow;"><?php echo $bulan; ?></strong> ini sudah di proses, silahkan pilih bulan lain.</div>
<?php
}
?>
</table>
</form>
CODING UNTUK ACTION PHP ---------------------------------------------------------
<?php
session_start();
include 'conf/conn.php';
if (!isset($_SESSION['login'])) {
header("location:index.php");
}
if (isset($_GET['act'])) {
// Insert Data
if ($_GET['act']=='create') {
# Prorses simpan data
$bulan = $_POST['bulan']; //Line 11
$nik = $_POST['nik']; //Line 12
$sakit = $_POST['sakit'];
$ijin = $_POST['ijin'];
$absen = $_POST['absen'];
$lembur = $_POST['lembur'];
$potongan = $_POST['potongan'];
// Hitung data yang masuk
$count = count($nik); //Line 20
$sql = "INSERT INTO tb_absensi(bulan,nik,sakit,ijin,absen,lembur,potongan) VALUES";
for ($i=0; $i > $count ; $i++) {
// sambung SQL nya dibawah ini
$sql .= "('{$bulan[$i]}','{$nik[$i]}','{$sakit[$i]}','{$ijin[$i]}','{$absen[$i]}',
'{$lembur[$i]}','{$potongan[$i]}')";
$sql .= " , ";
}
$sql .= rtrim($sql," , ");
// Untuk Simpan
$simpan = mysqli_query($conn, $sql);
if ($simpan) {
echo ("<script LANGUAGE='JavaScript'>
window.alert('SUKSES! Data Berhasil Disimpan.');
window.location.href='data_absensi.php';
</script>");
}else{
("<script LANGUAGE='JavaScript'>
window.alert('ERROR, GAGAL SIMPAN DATA');
window.location.href='data_absensi.php?view=create';
</script>");
}
}
?>
3 Jawaban:
itu karena variabel nik sama bulannya dibuat dalam array; jadi ketiga mau ambil hasil inputannya harus disertai nomer index arraynya... misal :
<pre> $nik = $_POST['nik'][i] </pre>
Maksudnya gimana ya om? fungsi [i] buat apa ya? kalau saya tambahin [i] seperti diatas maka error nya jadi sperti ini om
Notice: Undefined index: i
saya masih belum paham memakai array
jadi, array itu kan data yang dikelompokkan. makanya kita harus memasukkan list nomer berapa.. dimulai dari data yang nomer 0 ... seterusnya.. maksudnya variabel i tersebut untuk memberitahu array nomer berapa yang akan kita pakai..