как манипулировать с помощью codeigniter - PullRequest
0 голосов
/ 30 ноября 2018

Как мне получить мой массив данных из вида?и как вставить в мою базу данных?

мой взгляд, я пытаюсь много кода, но все еще ошибка, извините за мой вопрос и мой плохой английский

<form role="form" action="<?php echo base_url().'potongan/validasi'?>" action="GET">
          <div class="box-body">
          <div class="box-header with-border">
          <div class="row">
            <div class="col-xs-3">
            <label >NIM</label>
            <input type="text" class="form-control" name="nim" id="nim" placeholder="NIM" value="<?php echo $nime ?>" readonly>
            </div>
            <div class="col-xs-3">
            <label >Nama Mahasiswa</label>
            <input type="text" class="form-control" name="namamhs" placeholder="Nama Mahasiswa" value="<?php echo $nim[0]->namamhs ?>" disabled>
            </div>
            <div class="col-xs-3">
            <label >Jurusan</label>
            <input type="text" class="form-control" name="jurusan" placeholder="Jurusan" value="<?php echo $nim[0]->jurusan ?>" disabled>
            </div>  
          </div>
            <br>
            <div class="form-group">
              <label >Kode Beasiswa</label>
                <input type="text" class="form-control " name="kdbeasiswa" value="<?php echo $kdbeasiswa ?>" readonly>
            </div>

             <div class="form-group">
              <label >Keterangan</label>
                <input type="text" class="form-control " name="keterangan" value="<?php echo $keterangan ?>" readonly>
            </div>

            <div>
              <table class="table table-bordered table-striped">
                <tr>
                  <th></th>
                  <th>Kode</th>
                  <th>Deskripsi</th>
                  <th>Tahun Akademik</th>
                  <th>semester</th>
                  <th>Tagihan</th>
                  <th>Beasiswa</th>
                  <th>Terbayar</th>
                  <th>Potongan</th>
                </tr>
                  <?php foreach ($nim as $n): ?>
                    <tr>
                    <td>
                        <input type="hidden" class="form-control " name="id[]" value="<?php echo $n->thakad.$n->smtakad.$n->kdkeu; ?>" maxlength="3" >
                    </td>
                    <td><input type="hidden" class="form-control " name="kdkeu[]" value="<?php echo $n->kdkeu; ?>" maxlength="3" ><?php echo $n->kdkeu; ?></td>
                    <td><?php echo $n->deskeu; ?></td>
                    <td><input type="hidden" class="form-control " name="thakad[]" value="<?php echo $n->thakad; ?>" maxlength="3" ><?php echo $n->thakad; ?></td>
                    <td><input type="hidden" class="form-control " name="smtakad[]" value="<?php echo $n->smtakad; ?>" maxlength="3" ><?php echo $n->smtakad_view; ?></td>
                    <td><?php echo $n->tagihan; ?></td>
                    <td><?php echo $n->beasiswa; ?></td>
                    <td><?php echo $n->terbayar; ?></td>
                    <td>
                        <input type="text" class="form-control " name="prosentase_bea[]" value="<?php echo $n->potongan; ?>"  maxlength="3">
                    </td>
                    </tr>
                  <?php endforeach ?>
              </table>
            </div>
            </div>
            <br>
              <button class="btn btn-info" style="float: right;">submit</button>
          </div>
          <!-- /.box-body -->
        </form>

мой контроллер выглядит так, когда яотправить данные без вставки в базу данных и ошибка, как

Имя файла: C: /xampp/htdocs/tagihan/system/database/DB_query_builder.php Номер строки: 1498

$data = array();

    $count = count($this->input->post('device'));

        for($i=0; $i<$count; $i++) {

        $data[] = array(
        $thakad= $this->input->get('thakad'),
        $smtakad= $this->input->get('smtakad'),
        $kb = $this->input->get('kdbeasiswa'),
        $kk = $this->input->get('kdkeu'),
        $nim= $this->input->get('nim'),
        $pb = $this->input->get('prosentase_bea'),
        $status = 1,                  
        $user = $this->session->userdata('username'),
        $kt = $this->input->get('keterangan'),
        $curentDate = date("Y-m-d"));


}
$this->db->insert_batch('keu_beasiswapermhs',$data);
redirect('http://localhost/tagihan/potongan');

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

У вас есть такие поля, как "namamhs" и "jurusan", которые не помещаются в БД.

Вам не нужны циклы для или для вставки данных

Выне присваивает, какие поля в вашей базе данных отправляет каждый опубликованный элемент. Ваш контроллер не знает, куда следует вставлять каждое значение.Не используйте get, вы должны использовать post.Вот пример для вашего контроллера, который вы можете адаптировать к вашей форме:

$data = [
        'url'     => $this->input->post('url'),
        'name'    => $this->input->post('name'),
        'genre'   => $this->input->post('genre'),
        'counter' => $this->input->post('counter'),
        'type'    => $this->input->post('type')
];

, где 'url' - это поле в вашей базе данных, в которое вы помещаете $ this-> input-> post ('url')в.Затем вы проверяете значения:

$this->form_validation->set_rules('url', 'url', 'required|trim');
$this->form_validation->set_rules('name', 'Name', 'required|trim|callback_trims');
$this->form_validation->set_rules('genre', 'Genre', 'required|trim');
$this->form_validation->set_rules('counter', 'Counter', 'numeric');
$this->form_validation->set_rules('type', 'Type', 'required|min_length[3]');

Если значения проходят проверку, вставка проста

if( $this->form_validation->run() == FALSE) {
        echo validation_errors();
    }else
    {
        $this->db->insert('music', $data);
    }

Пакетная вставка не требуется.Просто используйте вставку

0 голосов
/ 30 ноября 2018

Привыкни, используя правильный MVC

VIEW

<form action="URL" method="post">
</form>

CONTROLLER

$this->model->function_name();
redirect('URL');

MODEL

function function_name(){
   $dataArr = array(
   'field_name'=>$this->input->post('form_input_name'),
   );
   $this->db->INSERT('tbl_name',$dataArr);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...