I want to make some questions with a foreach loop and input in the form of radio, and textarea with different values for each data that I fill in, but when POST in model I use manual arrays, then how do I do that when I input to the database there is no need for manual POST ?
can anyone help, i have tried but error, i hope when inputting data i can use array with loop
View
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1><strong>Form Penilaian Klinik Pratama</strong></h1>
</div>
</div>
</div><!-- /.container-fluid -->
</section>
<!-- Main content -->
<?php
echo form_open(
'penilaian_pratama/simpan_penilaian_pratama',
'class="form-horizontal"'
);
echo form_hidden('no_penilaian', $penilaian['no_penilaian']);
?>
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-12">
<!-- /.card -->
<div class="card">
<div class="card-header">
</div>
<!-- /.card-header -->
<div class="card-body">
<table id="example2" class="table table-bordered table-striped">
<thead>
<tr>
<th class="text-center" rowspan="2" style="vertical-align: middle;">No</th>
<th class="text-center" rowspan="2" style="vertical-align: middle;">Rincian
Penilaian</th>
<th class="text-center" colspan="2">Hasil</th>
<th class="text-center" rowspan="2" style="vertical-align: middle;">Keterangan
</th>
<th class="text-center" colspan="2">Hasil Verifikasi Persyaratan Minimal **</th>
<th class="text-center" rowspan="2" style="vertical-align: middle;">Catatan</th>
</tr>
<tr>
<th>Ya/Ada</th>
<th>Tidak</th>
<th>Memenuhi Syarat</th>
<th>Tidak Memenuhi Syarat</th>
</tr>
</thead>
<tbody>
<?php
$data = $this->Model_penilaian_pratama->get_rincian_penilaian();
$no = 1;
foreach ($data as $row): ?>
<tr>
<td><?php echo $no; ?></td>
<td class="text-justify"><input type="hidden" name="rincian<?php echo $row->id_rincian_penilaian; ?>"
value="<?php echo $row->id_rincian_penilaian; ?>" />
<?php echo $row->rincian_penilaian; ?></td>
<td class="text-center"><input type="radio"
name="hasil<?php echo $row->id_rincian_penilaian; ?>"
value="Ya" required></input>
</td>
<td class="text-center"><input type="radio"
name="hasil<?php echo $row->id_rincian_penilaian; ?>"
value="Tidak"></input>
</td>
<td><?php echo $row->keterangan_penilaian; ?></td>
<td class="text-center"><input type="radio"
name="hasil_verifikasi<?php echo $row->id_rincian_penilaian; ?>"
value="Ya" required></input></td>
<td class="text-center"><input type="radio"
name="hasil_verifikasi<?php echo $row->id_rincian_penilaian; ?>"
value="Tidak" ></input></td>
<td><textarea
name="catatan_penilaian<?php echo $row->id_rincian_penilaian; ?>"></textarea>
</td>
</tr>
<?php $no++;endforeach;
?>
</tbody>
</table>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</div>
<div class="col d-flex justify-content-center">
<div class="card-footer">
<button type="submit" name="submit" class="btn btn-success">Simpan</button>
<?php echo anchor('penilaian_pratama', 'Kembali', [
'class' => 'btn btn-warning',
]); ?>
</div>
</div>
<!-- /.container-fluid -->
</section>
<?php echo form_close(); ?>
<!-- /.content -->
Controller
function simpan_penilaian_pratama()
{
if (isset($_POST['submit'])) {
$this->Model_penilaian_pratama->simpan_penilaian();
redirect('penilaian_pratama');
} else {
echo 'Error';
}
}
Model
function simpan_penilaian()
{
$data = array(
array(
'no_penilaian' => $this->input->post('no_penilaian') ,
'id_rincian_penilaian' => $this->input->post('rincian1'),
'jawab_hasil' => $this->input->post('hasil1'),
'jawab_hasil_verif' => $this->input->post('hasil_verifikasi1'),
'catatan_hasil_penilaian' => $this->input->post('catatan_penilaian1')
),
array(
'no_penilaian' => $this->input->post('no_penilaian') ,
'id_rincian_penilaian' => $this->input->post('rincian2'),
'jawab_hasil' => $this->input->post('hasil2'),
'jawab_hasil_verif' => $this->input->post('hasil_verifikasi2'),
'catatan_hasil_penilaian' => $this->input->post('catatan_penilaian2')
)
);
$this->db->insert_batch('tbl_penilaian_pratama', $data);
}
And in HTML, i have some data like hasil1, hasil2, hasil3, etc hasil_verifikasi1, hasil_verifikasi2, hasil_verifikasi3, etc catatan_penilaian1, catatan_penilaian2, catatan_penilaian3, etc.
How to input to database using insert_batch, array and looping ?
<form
accept-charset="utf-8"
action="http://localhost/penilaian_klinik/penilaian_pratama/simpan_penilaian_pratama"
method="post"
>
<input name="no_penilaian" type="hidden" value="TASK-PRTM1403220001" />
<section>
<div>
<div>
<div>
<div>
<div>
<table>
<thead>
<tr>
<th rowspan="2">No</th>
<th rowspan="2">Rincian Penilaian</th>
<th colspan="2">Hasil</th>
<th rowspan="2">Keterangan</th>
<th colspan="2">Hasil Verifikasi Persyaratan Minimal **</th>
<th rowspan="2">Catatan</th>
</tr>
<tr>
<th>Ya/Ada</th>
<th>Tidak</th>
<th>Memenuhi Syarat</th>
<th>Tidak Memenuhi Syarat</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>
<input name="rincian1" type="hidden" value="1" /> Profil
klinik
</td>
<td>
<input
name="hasil1"
required=""
type="radio"
value="Ya"
/>
</td>
<td><input name="hasil1" type="radio" value="Tidak" /></td>
<td>
<input
name="hasil_verifikasi1"
required=""
type="radio"
value="Ya"
/>
</td>
<td>
<input
name="hasil_verifikasi1"
type="radio"
value="Tidak"
/>
</td>
<td><textarea name="catatan_penilaian1"></textarea></td>
</tr>
<tr>
<td>2</td>
<td>
<input name="rincian2" type="hidden" value="2" />
Kemampuan pelayanan klinik - Pelayanan medik dasar
</td>
<td>
<input
name="hasil2"
required=""
type="radio"
value="Ya"
/>
</td>
<td><input name="hasil2" type="radio" value="Tidak" /></td>
<td>Wajib untuk klinik pratama</td>
<td>
<input
name="hasil_verifikasi2"
required=""
type="radio"
value="Ya"
/>
</td>
<td>
<input
name="hasil_verifikasi2"
type="radio"
value="Tidak"
/>
</td>
<td><textarea name="catatan_penilaian2"></textarea></td>
</tr>
<tr>
<td>3</td>
<td>
<input name="rincian3" type="hidden" value="3" />
Kemampuan Pelayanan penunjang medik
</td>
<td>
<input
name="hasil3"
required=""
type="radio"
value="Ya"
/>
</td>
<td><input name="hasil3" type="radio" value="Tidak" /></td>
<td>
<input
name="hasil_verifikasi3"
required=""
type="radio"
value="Ya"
/>
</td>
<td>
<input
name="hasil_verifikasi3"
type="radio"
value="Tidak"
/>
</td>
<td><textarea name="catatan_penilaian3"></textarea></td>
</tr>
<tr>
<td>4</td>
<td>
<input name="rincian4" type="hidden" value="4" /> Sarana :
Bangunan dan ruang Klinik a. Bangunan klinik bersifat
permanen dan tidak bergabung fisik bangunannya dengan
tempat tinggal per orangan
</td>
<td>
<input
name="hasil4"
required=""
type="radio"
value="Ya"
/>
</td>
<td><input name="hasil4" type="radio" value="Tidak" /></td>
<td>
<input
name="hasil_verifikasi4"
required=""
type="radio"
value="Ya"
/>
</td>
<td>
<input
name="hasil_verifikasi4"
type="radio"
value="Tidak"
/>
</td>
<td><textarea name="catatan_penilaian4"></textarea></td>
</tr>
<tr>
<td>5</td>
<td>
<input name="rincian5" type="hidden" value="5" /> b.
bangunan klinik memperhatikan fungsi keamanan, kenyamanan,
dan kemudahan pelyanan termasuk penyandang disabilitas,
anak-anak, dan lanjut usia.
</td>
<td>
<input
name="hasil5"
required=""
type="radio"
value="Ya"
/>
</td>
<td><input name="hasil5" type="radio" value="Tidak" /></td>
<td>
<input
name="hasil_verifikasi5"
required=""
type="radio"
value="Ya"
/>
</td>
<td>
<input
name="hasil_verifikasi5"
type="radio"
value="Tidak"
/>
</td>
<td><textarea name="catatan_penilaian5"></textarea></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
</form>
name="fieldName[]". Then as you repeat the sets of fields, the GET/POST payload will be autoincremented and you can simply loop over this data in your server-side scripting.