0

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>
2
  • No methods in your model should ever be directly accessing POST/GET values. It is the responsibility of the controller to pass these submitted values to the model. Imagine in the future, you want to use the same model method to process a payload of data that DOESN'T come from user supplied data -- you will have to copy the same method and change the inputs. No. Set up your model methods to be receive data as parameters -- every time. Commented Mar 16, 2022 at 7:29
  • When building a form (with CI or not) that has repeatable fields, you need to use array syntax. One way is: 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. Commented Mar 16, 2022 at 7:30

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.