How to insert and update multiple selected values with codeigniter?












0















So I have a problem with many to many relationships.
Currently, I have surat and surat_user table.
How do I insert data into surat and at the same time insert multiple values from select2 multiple forms into surat_user table and how to get data so I can update it.



UPDATE :
I solve the insert problem please see answer below



But now i have no idea how to update those values.
For example



surat_user



id_surat | id_user
1 | 1
1 | 2


How to update surat_user (in controller and model) if i want to remove one of id_user where 'id_surat = 1`



At the moment i don't know how to fetch the multiple values into select2 form edit so here is mu uncomplete codes :



Controller



public function edit_sm($id_surat){
$this->load->view('template/header');
$this->load->view('template/sidebar');
$where = array('id_surat' => $id_surat);
//$data=array('id_status'=> $this->M_sm->get_option());
$data['surat'] = $this->M_sm->edit_sm($where,'surat')->result();
$this->load->view('v_edit_surat',$data);
$this->load->view('template/footer');
}

public function edit_sm_proses() {
$data = array(
'id_surat'=>$this->input->post('id_surat'),
'no_surat'=>$this->input->post('no_surat'),
'id_status'=>$this->input->post('id_status'),
'id_user'=>$this->input->post('id_user')
);
$where = array(
'id_surat' => $id_surat
);

$this->M_sm->edit_sm_proses($where,$data,'surat');
redirect('SuratMasuk');
}


Model:



public function edit_sm($where,$table){     
$this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
return $this->db->get_where($table,$where);
}

public function edit_sm_proses($where,$data,$table){
$this->db->where($where);
$this->db->update($table,$data);
}


View



<section class="content">
<div class="row">
<div class="col-xs-12">
<div class="box box-solid box-primary"">
<div class="box-header with-border">
<h3 class="box-title">Default Box Example</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<?php foreach ($surat as $key) { ?>
<form method="post" action="<?php echo base_url()."SuratMasuk/edit_sm_proses" ?>" enctype="multipart/form-data" />
<input type="hidden" name="id_surat" value="<?=$key->id_surat?>">


<div class="form-group">
<label class="control-label col-lg-2">No Surat</label>
<div class="col-lg-5">
<input type="text" name="no_surat" class="form-control no_surat" placeholder="Masukkan Nomor Surat" value="<?=$key->no_surat?>">
<span class="help-block"></span>
</div>
</div>
<br>
<br>
<div class="form-body">
<div class="form-group">
<label class="control-label col-lg-2">Status</label>
<div class="col-lg-5">
<select class="form-control select2 id_status" name="id_status" style="width: 100%;">
<option value="<?=$key->id_status;?>" selected="<?=$key->id_status;?>"><?php echo $key->status;?></option>
<?php foreach ($id_status as $row) { ?>
<option value="<?php echo $row->id_status; ?>"> <?php echo $row->status; ?></option>

<?php } ?>
</select>
<span class="help-block"></span>
</div>
</div>
</div>
<br>
<br>
<div class="form-body">
<div class="form-group">
<label class="control-label col-lg-2">Disposisi</label>
<div class="col-lg-5">
<select class="form-control select2 id_user" name="id_user" style="width: 100%;">
<option value="<?=$key->id_user;?>" selected="<?=$key->id_user;?>"><?php echo $key->nama;?></option>
<?php foreach ($id_user as $row) { ?>
<option value="<?php echo $row->id_user; ?>"> <?php echo $row->nama; ?></option>

<?php } ?>
</select>
<span class="help-block"></span>
</div>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button class="btn btn-danger" type="reset" value="reset">Reset</button>
<button class="btn btn-info">Update</button><br>
<a href="<?php echo base_url(); ?>SuratMasuk/">Kembali</a>
</form>
<?php
}
?>
</div>
<!-- box-footer -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->

</section>
<!-- /.content -->


Current Result :
result from codes above










share|improve this question

























  • i manage to solve insert multiple values by myself, but now I'm having problem how to update those values. I don't know what to do to fetch values from surat_user. For example i have id surat = 1 and it has id_user = 1` and id user = 2. What i have to do if i want to update id surat = 1 and make it only has one id_user

    – Keisha Adora
    Jan 2 at 6:40













  • First, Don't use <form> inside the foreach loop. Use eidt/update button for each record

    – Danish Ali
    Jan 2 at 9:30











  • if i don't use form inside foreach then how am i supposed to get the data from database and show it to form edit ?

    – Keisha Adora
    Jan 2 at 13:11











  • when you click on button function will call with an ID then data will get from DB.

    – Danish Ali
    Jan 2 at 13:13











  • <a class="btn btn-primary" href="<?= base_url('controller_name/function_name/'. $id)?>">Edit</a>

    – Danish Ali
    Jan 2 at 13:14
















0















So I have a problem with many to many relationships.
Currently, I have surat and surat_user table.
How do I insert data into surat and at the same time insert multiple values from select2 multiple forms into surat_user table and how to get data so I can update it.



UPDATE :
I solve the insert problem please see answer below



But now i have no idea how to update those values.
For example



surat_user



id_surat | id_user
1 | 1
1 | 2


How to update surat_user (in controller and model) if i want to remove one of id_user where 'id_surat = 1`



At the moment i don't know how to fetch the multiple values into select2 form edit so here is mu uncomplete codes :



Controller



public function edit_sm($id_surat){
$this->load->view('template/header');
$this->load->view('template/sidebar');
$where = array('id_surat' => $id_surat);
//$data=array('id_status'=> $this->M_sm->get_option());
$data['surat'] = $this->M_sm->edit_sm($where,'surat')->result();
$this->load->view('v_edit_surat',$data);
$this->load->view('template/footer');
}

public function edit_sm_proses() {
$data = array(
'id_surat'=>$this->input->post('id_surat'),
'no_surat'=>$this->input->post('no_surat'),
'id_status'=>$this->input->post('id_status'),
'id_user'=>$this->input->post('id_user')
);
$where = array(
'id_surat' => $id_surat
);

$this->M_sm->edit_sm_proses($where,$data,'surat');
redirect('SuratMasuk');
}


Model:



public function edit_sm($where,$table){     
$this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
return $this->db->get_where($table,$where);
}

public function edit_sm_proses($where,$data,$table){
$this->db->where($where);
$this->db->update($table,$data);
}


View



<section class="content">
<div class="row">
<div class="col-xs-12">
<div class="box box-solid box-primary"">
<div class="box-header with-border">
<h3 class="box-title">Default Box Example</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<?php foreach ($surat as $key) { ?>
<form method="post" action="<?php echo base_url()."SuratMasuk/edit_sm_proses" ?>" enctype="multipart/form-data" />
<input type="hidden" name="id_surat" value="<?=$key->id_surat?>">


<div class="form-group">
<label class="control-label col-lg-2">No Surat</label>
<div class="col-lg-5">
<input type="text" name="no_surat" class="form-control no_surat" placeholder="Masukkan Nomor Surat" value="<?=$key->no_surat?>">
<span class="help-block"></span>
</div>
</div>
<br>
<br>
<div class="form-body">
<div class="form-group">
<label class="control-label col-lg-2">Status</label>
<div class="col-lg-5">
<select class="form-control select2 id_status" name="id_status" style="width: 100%;">
<option value="<?=$key->id_status;?>" selected="<?=$key->id_status;?>"><?php echo $key->status;?></option>
<?php foreach ($id_status as $row) { ?>
<option value="<?php echo $row->id_status; ?>"> <?php echo $row->status; ?></option>

<?php } ?>
</select>
<span class="help-block"></span>
</div>
</div>
</div>
<br>
<br>
<div class="form-body">
<div class="form-group">
<label class="control-label col-lg-2">Disposisi</label>
<div class="col-lg-5">
<select class="form-control select2 id_user" name="id_user" style="width: 100%;">
<option value="<?=$key->id_user;?>" selected="<?=$key->id_user;?>"><?php echo $key->nama;?></option>
<?php foreach ($id_user as $row) { ?>
<option value="<?php echo $row->id_user; ?>"> <?php echo $row->nama; ?></option>

<?php } ?>
</select>
<span class="help-block"></span>
</div>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button class="btn btn-danger" type="reset" value="reset">Reset</button>
<button class="btn btn-info">Update</button><br>
<a href="<?php echo base_url(); ?>SuratMasuk/">Kembali</a>
</form>
<?php
}
?>
</div>
<!-- box-footer -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->

</section>
<!-- /.content -->


Current Result :
result from codes above










share|improve this question

























  • i manage to solve insert multiple values by myself, but now I'm having problem how to update those values. I don't know what to do to fetch values from surat_user. For example i have id surat = 1 and it has id_user = 1` and id user = 2. What i have to do if i want to update id surat = 1 and make it only has one id_user

    – Keisha Adora
    Jan 2 at 6:40













  • First, Don't use <form> inside the foreach loop. Use eidt/update button for each record

    – Danish Ali
    Jan 2 at 9:30











  • if i don't use form inside foreach then how am i supposed to get the data from database and show it to form edit ?

    – Keisha Adora
    Jan 2 at 13:11











  • when you click on button function will call with an ID then data will get from DB.

    – Danish Ali
    Jan 2 at 13:13











  • <a class="btn btn-primary" href="<?= base_url('controller_name/function_name/'. $id)?>">Edit</a>

    – Danish Ali
    Jan 2 at 13:14














0












0








0








So I have a problem with many to many relationships.
Currently, I have surat and surat_user table.
How do I insert data into surat and at the same time insert multiple values from select2 multiple forms into surat_user table and how to get data so I can update it.



UPDATE :
I solve the insert problem please see answer below



But now i have no idea how to update those values.
For example



surat_user



id_surat | id_user
1 | 1
1 | 2


How to update surat_user (in controller and model) if i want to remove one of id_user where 'id_surat = 1`



At the moment i don't know how to fetch the multiple values into select2 form edit so here is mu uncomplete codes :



Controller



public function edit_sm($id_surat){
$this->load->view('template/header');
$this->load->view('template/sidebar');
$where = array('id_surat' => $id_surat);
//$data=array('id_status'=> $this->M_sm->get_option());
$data['surat'] = $this->M_sm->edit_sm($where,'surat')->result();
$this->load->view('v_edit_surat',$data);
$this->load->view('template/footer');
}

public function edit_sm_proses() {
$data = array(
'id_surat'=>$this->input->post('id_surat'),
'no_surat'=>$this->input->post('no_surat'),
'id_status'=>$this->input->post('id_status'),
'id_user'=>$this->input->post('id_user')
);
$where = array(
'id_surat' => $id_surat
);

$this->M_sm->edit_sm_proses($where,$data,'surat');
redirect('SuratMasuk');
}


Model:



public function edit_sm($where,$table){     
$this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
return $this->db->get_where($table,$where);
}

public function edit_sm_proses($where,$data,$table){
$this->db->where($where);
$this->db->update($table,$data);
}


View



<section class="content">
<div class="row">
<div class="col-xs-12">
<div class="box box-solid box-primary"">
<div class="box-header with-border">
<h3 class="box-title">Default Box Example</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<?php foreach ($surat as $key) { ?>
<form method="post" action="<?php echo base_url()."SuratMasuk/edit_sm_proses" ?>" enctype="multipart/form-data" />
<input type="hidden" name="id_surat" value="<?=$key->id_surat?>">


<div class="form-group">
<label class="control-label col-lg-2">No Surat</label>
<div class="col-lg-5">
<input type="text" name="no_surat" class="form-control no_surat" placeholder="Masukkan Nomor Surat" value="<?=$key->no_surat?>">
<span class="help-block"></span>
</div>
</div>
<br>
<br>
<div class="form-body">
<div class="form-group">
<label class="control-label col-lg-2">Status</label>
<div class="col-lg-5">
<select class="form-control select2 id_status" name="id_status" style="width: 100%;">
<option value="<?=$key->id_status;?>" selected="<?=$key->id_status;?>"><?php echo $key->status;?></option>
<?php foreach ($id_status as $row) { ?>
<option value="<?php echo $row->id_status; ?>"> <?php echo $row->status; ?></option>

<?php } ?>
</select>
<span class="help-block"></span>
</div>
</div>
</div>
<br>
<br>
<div class="form-body">
<div class="form-group">
<label class="control-label col-lg-2">Disposisi</label>
<div class="col-lg-5">
<select class="form-control select2 id_user" name="id_user" style="width: 100%;">
<option value="<?=$key->id_user;?>" selected="<?=$key->id_user;?>"><?php echo $key->nama;?></option>
<?php foreach ($id_user as $row) { ?>
<option value="<?php echo $row->id_user; ?>"> <?php echo $row->nama; ?></option>

<?php } ?>
</select>
<span class="help-block"></span>
</div>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button class="btn btn-danger" type="reset" value="reset">Reset</button>
<button class="btn btn-info">Update</button><br>
<a href="<?php echo base_url(); ?>SuratMasuk/">Kembali</a>
</form>
<?php
}
?>
</div>
<!-- box-footer -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->

</section>
<!-- /.content -->


Current Result :
result from codes above










share|improve this question
















So I have a problem with many to many relationships.
Currently, I have surat and surat_user table.
How do I insert data into surat and at the same time insert multiple values from select2 multiple forms into surat_user table and how to get data so I can update it.



UPDATE :
I solve the insert problem please see answer below



But now i have no idea how to update those values.
For example



surat_user



id_surat | id_user
1 | 1
1 | 2


How to update surat_user (in controller and model) if i want to remove one of id_user where 'id_surat = 1`



At the moment i don't know how to fetch the multiple values into select2 form edit so here is mu uncomplete codes :



Controller



public function edit_sm($id_surat){
$this->load->view('template/header');
$this->load->view('template/sidebar');
$where = array('id_surat' => $id_surat);
//$data=array('id_status'=> $this->M_sm->get_option());
$data['surat'] = $this->M_sm->edit_sm($where,'surat')->result();
$this->load->view('v_edit_surat',$data);
$this->load->view('template/footer');
}

public function edit_sm_proses() {
$data = array(
'id_surat'=>$this->input->post('id_surat'),
'no_surat'=>$this->input->post('no_surat'),
'id_status'=>$this->input->post('id_status'),
'id_user'=>$this->input->post('id_user')
);
$where = array(
'id_surat' => $id_surat
);

$this->M_sm->edit_sm_proses($where,$data,'surat');
redirect('SuratMasuk');
}


Model:



public function edit_sm($where,$table){     
$this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
return $this->db->get_where($table,$where);
}

public function edit_sm_proses($where,$data,$table){
$this->db->where($where);
$this->db->update($table,$data);
}


View



<section class="content">
<div class="row">
<div class="col-xs-12">
<div class="box box-solid box-primary"">
<div class="box-header with-border">
<h3 class="box-title">Default Box Example</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<?php foreach ($surat as $key) { ?>
<form method="post" action="<?php echo base_url()."SuratMasuk/edit_sm_proses" ?>" enctype="multipart/form-data" />
<input type="hidden" name="id_surat" value="<?=$key->id_surat?>">


<div class="form-group">
<label class="control-label col-lg-2">No Surat</label>
<div class="col-lg-5">
<input type="text" name="no_surat" class="form-control no_surat" placeholder="Masukkan Nomor Surat" value="<?=$key->no_surat?>">
<span class="help-block"></span>
</div>
</div>
<br>
<br>
<div class="form-body">
<div class="form-group">
<label class="control-label col-lg-2">Status</label>
<div class="col-lg-5">
<select class="form-control select2 id_status" name="id_status" style="width: 100%;">
<option value="<?=$key->id_status;?>" selected="<?=$key->id_status;?>"><?php echo $key->status;?></option>
<?php foreach ($id_status as $row) { ?>
<option value="<?php echo $row->id_status; ?>"> <?php echo $row->status; ?></option>

<?php } ?>
</select>
<span class="help-block"></span>
</div>
</div>
</div>
<br>
<br>
<div class="form-body">
<div class="form-group">
<label class="control-label col-lg-2">Disposisi</label>
<div class="col-lg-5">
<select class="form-control select2 id_user" name="id_user" style="width: 100%;">
<option value="<?=$key->id_user;?>" selected="<?=$key->id_user;?>"><?php echo $key->nama;?></option>
<?php foreach ($id_user as $row) { ?>
<option value="<?php echo $row->id_user; ?>"> <?php echo $row->nama; ?></option>

<?php } ?>
</select>
<span class="help-block"></span>
</div>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button class="btn btn-danger" type="reset" value="reset">Reset</button>
<button class="btn btn-info">Update</button><br>
<a href="<?php echo base_url(); ?>SuratMasuk/">Kembali</a>
</form>
<?php
}
?>
</div>
<!-- box-footer -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->

</section>
<!-- /.content -->


Current Result :
result from codes above







mysql codeigniter






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 2 at 8:06







Keisha Adora

















asked Jan 1 at 18:38









Keisha AdoraKeisha Adora

11




11













  • i manage to solve insert multiple values by myself, but now I'm having problem how to update those values. I don't know what to do to fetch values from surat_user. For example i have id surat = 1 and it has id_user = 1` and id user = 2. What i have to do if i want to update id surat = 1 and make it only has one id_user

    – Keisha Adora
    Jan 2 at 6:40













  • First, Don't use <form> inside the foreach loop. Use eidt/update button for each record

    – Danish Ali
    Jan 2 at 9:30











  • if i don't use form inside foreach then how am i supposed to get the data from database and show it to form edit ?

    – Keisha Adora
    Jan 2 at 13:11











  • when you click on button function will call with an ID then data will get from DB.

    – Danish Ali
    Jan 2 at 13:13











  • <a class="btn btn-primary" href="<?= base_url('controller_name/function_name/'. $id)?>">Edit</a>

    – Danish Ali
    Jan 2 at 13:14



















  • i manage to solve insert multiple values by myself, but now I'm having problem how to update those values. I don't know what to do to fetch values from surat_user. For example i have id surat = 1 and it has id_user = 1` and id user = 2. What i have to do if i want to update id surat = 1 and make it only has one id_user

    – Keisha Adora
    Jan 2 at 6:40













  • First, Don't use <form> inside the foreach loop. Use eidt/update button for each record

    – Danish Ali
    Jan 2 at 9:30











  • if i don't use form inside foreach then how am i supposed to get the data from database and show it to form edit ?

    – Keisha Adora
    Jan 2 at 13:11











  • when you click on button function will call with an ID then data will get from DB.

    – Danish Ali
    Jan 2 at 13:13











  • <a class="btn btn-primary" href="<?= base_url('controller_name/function_name/'. $id)?>">Edit</a>

    – Danish Ali
    Jan 2 at 13:14

















i manage to solve insert multiple values by myself, but now I'm having problem how to update those values. I don't know what to do to fetch values from surat_user. For example i have id surat = 1 and it has id_user = 1` and id user = 2. What i have to do if i want to update id surat = 1 and make it only has one id_user

– Keisha Adora
Jan 2 at 6:40







i manage to solve insert multiple values by myself, but now I'm having problem how to update those values. I don't know what to do to fetch values from surat_user. For example i have id surat = 1 and it has id_user = 1` and id user = 2. What i have to do if i want to update id surat = 1 and make it only has one id_user

– Keisha Adora
Jan 2 at 6:40















First, Don't use <form> inside the foreach loop. Use eidt/update button for each record

– Danish Ali
Jan 2 at 9:30





First, Don't use <form> inside the foreach loop. Use eidt/update button for each record

– Danish Ali
Jan 2 at 9:30













if i don't use form inside foreach then how am i supposed to get the data from database and show it to form edit ?

– Keisha Adora
Jan 2 at 13:11





if i don't use form inside foreach then how am i supposed to get the data from database and show it to form edit ?

– Keisha Adora
Jan 2 at 13:11













when you click on button function will call with an ID then data will get from DB.

– Danish Ali
Jan 2 at 13:13





when you click on button function will call with an ID then data will get from DB.

– Danish Ali
Jan 2 at 13:13













<a class="btn btn-primary" href="<?= base_url('controller_name/function_name/'. $id)?>">Edit</a>

– Danish Ali
Jan 2 at 13:14





<a class="btn btn-primary" href="<?= base_url('controller_name/function_name/'. $id)?>">Edit</a>

– Danish Ali
Jan 2 at 13:14












3 Answers
3






active

oldest

votes


















0














Manage to solve the problem by my self.



i change my controller to this:



public function add_sm_proses(){
$data = array(
'no_surat'=>$this->input->post('no_surat'),
'id_status'=>$this->input->post('id_status')
);
$insert = $this->M_sm->trans_surat_user($data);
if($insert=1){
redirect('SuratMasuk');
} else {
echo "<h2>Gagal menambahkan data</h2>";

}
}


change my model to this :



public function trans_surat_user($data){
$this->db->trans_start();
$this->db->insert('surat', $data);
$id_surat = $this->db->query('SELECT surat.id_surat FROM surat ORDER BY id_surat DESC limit 1');
foreach ($id_surat->result() as $row) {
$id_surat_result = $row->id_surat;
}
$id_user = $_POST['id_user'];
foreach ($id_user as $data2) {
array_push($id_user, $data2);
$this->db->query('INSERT INTO surat_user (id_surat,id_user) VALUES ('.$id_surat_result.','.$data2.')');

}
$this->db->trans_complete();
}





share|improve this answer































    0














    class SuratMasuk extends CI_Controller {
    public function add_sm_proses(){
    $data = array(
    'no_surat'=>$this->input->post('no_surat'),
    'id_status'=>$this->input->post('id_status'),
    );


    Select MAX ID from table like this



        $id_surat = $this->db->query('SELECT MAX(surat.id_surat) AS maxid FROM surat')->row()->maxid;


    Update:-
    $id_surat will give MAX ID present in the table. Don't use for next record.
    First, Increment it by value 1 and then use it



    $id_surat = $id_surat + 1;
    $id_user = $this->input->post('id_user') ? $this->input->post('id_user') : array();


    First, check if $id_user have values or not otherwise foreach loop will give e error



        if(count($id_user) > 0){
    foreach ($id_user as $u){
    $data_values = array('id_surat' => $id_surat, 'id_user' => $u);
    $this->db->insert('surat_user', $data_values);
    }
    }
    $insert = $this->M_sm->add_sm($data);


    $insert will not always return 1. So, only check if value exists



        if($insert){
    redirect('SuratMasuk');
    } else {
    echo "<h2>Gagal menambahkan data</h2>";

    }
    }
    }





    share|improve this answer


























    • i've solve the insert problem , but now i don't know how to update those values. i edited my post, can you help me,please?

      – Keisha Adora
      Jan 2 at 7:03











    • @KeishaAdora you want id_surat with unique ID?

      – Danish Ali
      Jan 2 at 7:12











    • @KeishaAdora see my updated answer

      – Danish Ali
      Jan 2 at 7:18











    • ah what i mean is id surat = 1 has multiple values then i want to update it and remove one of the values in surat_user but when i tried to update the surat_user table become duplicated values because instead of removing id_user = 1 it changesid_user = 1 into id_user = 2

      – Keisha Adora
      Jan 2 at 7:25











    • okay. Show code that you are using for update the record.

      – Danish Ali
      Jan 2 at 7:30



















    0














    First, Show all record from DB and for each record add a button to edit the record.



    Note:- Don't use <form> inside the loop



    <a class="btn btn-warning btn-sm" href="<?= base_url('SuratMasuk/edit_sm/'.$row->id_surat)?>"><i class="fa fa-pencil-square-o" aria-hidden="true"></i>Edit</a>


    Controller for Edit



    I'm just adding backend code here




    where and table is reserved word for DB. It is better to not use it or use in another way.




    public function edit_sm($id_surat){ 
    $condition_array = array('id_surat' => $id_surat);
    $data['surat'] = $this->M_sm->edit_sm($condition_array ,'surat');
    }


    Model for Edit



    Get the record for edit



    This function is getting only one record from DB so use row()



    public function edit_sm($condition_array ,$record_in){     
    $this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
    return $this->db->get_where($record_in, $condition_array )->row();
    }


    Now, Form for will show with data populated in it.



    Getting updated data from Controller



    public function edit_sm_proses() {
    $data = array(
    'id_surat'=> $this->input->post('id_surat'),
    'no_surat'=>$this->input->post('no_surat'),
    'id_status'=>$this->input->post('id_status'),
    'id_user'=>$this->input->post('id_user')
    );
    $condition_array = array(
    'id_surat' => $this->input->post('id_surat')
    );

    $this->M_sm->edit_sm_proses($condition_array, $data, 'surat');
    redirect('SuratMasuk');
    }


    Updating data in Model



    public function edit_sm_proses($condition_array, $data, $record_in){
    $this->db->where($condition_array);
    return $this->db->update($record_in, $data);
    }





    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53997974%2fhow-to-insert-and-update-multiple-selected-values-with-codeigniter%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      Manage to solve the problem by my self.



      i change my controller to this:



      public function add_sm_proses(){
      $data = array(
      'no_surat'=>$this->input->post('no_surat'),
      'id_status'=>$this->input->post('id_status')
      );
      $insert = $this->M_sm->trans_surat_user($data);
      if($insert=1){
      redirect('SuratMasuk');
      } else {
      echo "<h2>Gagal menambahkan data</h2>";

      }
      }


      change my model to this :



      public function trans_surat_user($data){
      $this->db->trans_start();
      $this->db->insert('surat', $data);
      $id_surat = $this->db->query('SELECT surat.id_surat FROM surat ORDER BY id_surat DESC limit 1');
      foreach ($id_surat->result() as $row) {
      $id_surat_result = $row->id_surat;
      }
      $id_user = $_POST['id_user'];
      foreach ($id_user as $data2) {
      array_push($id_user, $data2);
      $this->db->query('INSERT INTO surat_user (id_surat,id_user) VALUES ('.$id_surat_result.','.$data2.')');

      }
      $this->db->trans_complete();
      }





      share|improve this answer




























        0














        Manage to solve the problem by my self.



        i change my controller to this:



        public function add_sm_proses(){
        $data = array(
        'no_surat'=>$this->input->post('no_surat'),
        'id_status'=>$this->input->post('id_status')
        );
        $insert = $this->M_sm->trans_surat_user($data);
        if($insert=1){
        redirect('SuratMasuk');
        } else {
        echo "<h2>Gagal menambahkan data</h2>";

        }
        }


        change my model to this :



        public function trans_surat_user($data){
        $this->db->trans_start();
        $this->db->insert('surat', $data);
        $id_surat = $this->db->query('SELECT surat.id_surat FROM surat ORDER BY id_surat DESC limit 1');
        foreach ($id_surat->result() as $row) {
        $id_surat_result = $row->id_surat;
        }
        $id_user = $_POST['id_user'];
        foreach ($id_user as $data2) {
        array_push($id_user, $data2);
        $this->db->query('INSERT INTO surat_user (id_surat,id_user) VALUES ('.$id_surat_result.','.$data2.')');

        }
        $this->db->trans_complete();
        }





        share|improve this answer


























          0












          0








          0







          Manage to solve the problem by my self.



          i change my controller to this:



          public function add_sm_proses(){
          $data = array(
          'no_surat'=>$this->input->post('no_surat'),
          'id_status'=>$this->input->post('id_status')
          );
          $insert = $this->M_sm->trans_surat_user($data);
          if($insert=1){
          redirect('SuratMasuk');
          } else {
          echo "<h2>Gagal menambahkan data</h2>";

          }
          }


          change my model to this :



          public function trans_surat_user($data){
          $this->db->trans_start();
          $this->db->insert('surat', $data);
          $id_surat = $this->db->query('SELECT surat.id_surat FROM surat ORDER BY id_surat DESC limit 1');
          foreach ($id_surat->result() as $row) {
          $id_surat_result = $row->id_surat;
          }
          $id_user = $_POST['id_user'];
          foreach ($id_user as $data2) {
          array_push($id_user, $data2);
          $this->db->query('INSERT INTO surat_user (id_surat,id_user) VALUES ('.$id_surat_result.','.$data2.')');

          }
          $this->db->trans_complete();
          }





          share|improve this answer













          Manage to solve the problem by my self.



          i change my controller to this:



          public function add_sm_proses(){
          $data = array(
          'no_surat'=>$this->input->post('no_surat'),
          'id_status'=>$this->input->post('id_status')
          );
          $insert = $this->M_sm->trans_surat_user($data);
          if($insert=1){
          redirect('SuratMasuk');
          } else {
          echo "<h2>Gagal menambahkan data</h2>";

          }
          }


          change my model to this :



          public function trans_surat_user($data){
          $this->db->trans_start();
          $this->db->insert('surat', $data);
          $id_surat = $this->db->query('SELECT surat.id_surat FROM surat ORDER BY id_surat DESC limit 1');
          foreach ($id_surat->result() as $row) {
          $id_surat_result = $row->id_surat;
          }
          $id_user = $_POST['id_user'];
          foreach ($id_user as $data2) {
          array_push($id_user, $data2);
          $this->db->query('INSERT INTO surat_user (id_surat,id_user) VALUES ('.$id_surat_result.','.$data2.')');

          }
          $this->db->trans_complete();
          }






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 2 at 6:56









          Keisha AdoraKeisha Adora

          11




          11

























              0














              class SuratMasuk extends CI_Controller {
              public function add_sm_proses(){
              $data = array(
              'no_surat'=>$this->input->post('no_surat'),
              'id_status'=>$this->input->post('id_status'),
              );


              Select MAX ID from table like this



                  $id_surat = $this->db->query('SELECT MAX(surat.id_surat) AS maxid FROM surat')->row()->maxid;


              Update:-
              $id_surat will give MAX ID present in the table. Don't use for next record.
              First, Increment it by value 1 and then use it



              $id_surat = $id_surat + 1;
              $id_user = $this->input->post('id_user') ? $this->input->post('id_user') : array();


              First, check if $id_user have values or not otherwise foreach loop will give e error



                  if(count($id_user) > 0){
              foreach ($id_user as $u){
              $data_values = array('id_surat' => $id_surat, 'id_user' => $u);
              $this->db->insert('surat_user', $data_values);
              }
              }
              $insert = $this->M_sm->add_sm($data);


              $insert will not always return 1. So, only check if value exists



                  if($insert){
              redirect('SuratMasuk');
              } else {
              echo "<h2>Gagal menambahkan data</h2>";

              }
              }
              }





              share|improve this answer


























              • i've solve the insert problem , but now i don't know how to update those values. i edited my post, can you help me,please?

                – Keisha Adora
                Jan 2 at 7:03











              • @KeishaAdora you want id_surat with unique ID?

                – Danish Ali
                Jan 2 at 7:12











              • @KeishaAdora see my updated answer

                – Danish Ali
                Jan 2 at 7:18











              • ah what i mean is id surat = 1 has multiple values then i want to update it and remove one of the values in surat_user but when i tried to update the surat_user table become duplicated values because instead of removing id_user = 1 it changesid_user = 1 into id_user = 2

                – Keisha Adora
                Jan 2 at 7:25











              • okay. Show code that you are using for update the record.

                – Danish Ali
                Jan 2 at 7:30
















              0














              class SuratMasuk extends CI_Controller {
              public function add_sm_proses(){
              $data = array(
              'no_surat'=>$this->input->post('no_surat'),
              'id_status'=>$this->input->post('id_status'),
              );


              Select MAX ID from table like this



                  $id_surat = $this->db->query('SELECT MAX(surat.id_surat) AS maxid FROM surat')->row()->maxid;


              Update:-
              $id_surat will give MAX ID present in the table. Don't use for next record.
              First, Increment it by value 1 and then use it



              $id_surat = $id_surat + 1;
              $id_user = $this->input->post('id_user') ? $this->input->post('id_user') : array();


              First, check if $id_user have values or not otherwise foreach loop will give e error



                  if(count($id_user) > 0){
              foreach ($id_user as $u){
              $data_values = array('id_surat' => $id_surat, 'id_user' => $u);
              $this->db->insert('surat_user', $data_values);
              }
              }
              $insert = $this->M_sm->add_sm($data);


              $insert will not always return 1. So, only check if value exists



                  if($insert){
              redirect('SuratMasuk');
              } else {
              echo "<h2>Gagal menambahkan data</h2>";

              }
              }
              }





              share|improve this answer


























              • i've solve the insert problem , but now i don't know how to update those values. i edited my post, can you help me,please?

                – Keisha Adora
                Jan 2 at 7:03











              • @KeishaAdora you want id_surat with unique ID?

                – Danish Ali
                Jan 2 at 7:12











              • @KeishaAdora see my updated answer

                – Danish Ali
                Jan 2 at 7:18











              • ah what i mean is id surat = 1 has multiple values then i want to update it and remove one of the values in surat_user but when i tried to update the surat_user table become duplicated values because instead of removing id_user = 1 it changesid_user = 1 into id_user = 2

                – Keisha Adora
                Jan 2 at 7:25











              • okay. Show code that you are using for update the record.

                – Danish Ali
                Jan 2 at 7:30














              0












              0








              0







              class SuratMasuk extends CI_Controller {
              public function add_sm_proses(){
              $data = array(
              'no_surat'=>$this->input->post('no_surat'),
              'id_status'=>$this->input->post('id_status'),
              );


              Select MAX ID from table like this



                  $id_surat = $this->db->query('SELECT MAX(surat.id_surat) AS maxid FROM surat')->row()->maxid;


              Update:-
              $id_surat will give MAX ID present in the table. Don't use for next record.
              First, Increment it by value 1 and then use it



              $id_surat = $id_surat + 1;
              $id_user = $this->input->post('id_user') ? $this->input->post('id_user') : array();


              First, check if $id_user have values or not otherwise foreach loop will give e error



                  if(count($id_user) > 0){
              foreach ($id_user as $u){
              $data_values = array('id_surat' => $id_surat, 'id_user' => $u);
              $this->db->insert('surat_user', $data_values);
              }
              }
              $insert = $this->M_sm->add_sm($data);


              $insert will not always return 1. So, only check if value exists



                  if($insert){
              redirect('SuratMasuk');
              } else {
              echo "<h2>Gagal menambahkan data</h2>";

              }
              }
              }





              share|improve this answer















              class SuratMasuk extends CI_Controller {
              public function add_sm_proses(){
              $data = array(
              'no_surat'=>$this->input->post('no_surat'),
              'id_status'=>$this->input->post('id_status'),
              );


              Select MAX ID from table like this



                  $id_surat = $this->db->query('SELECT MAX(surat.id_surat) AS maxid FROM surat')->row()->maxid;


              Update:-
              $id_surat will give MAX ID present in the table. Don't use for next record.
              First, Increment it by value 1 and then use it



              $id_surat = $id_surat + 1;
              $id_user = $this->input->post('id_user') ? $this->input->post('id_user') : array();


              First, check if $id_user have values or not otherwise foreach loop will give e error



                  if(count($id_user) > 0){
              foreach ($id_user as $u){
              $data_values = array('id_surat' => $id_surat, 'id_user' => $u);
              $this->db->insert('surat_user', $data_values);
              }
              }
              $insert = $this->M_sm->add_sm($data);


              $insert will not always return 1. So, only check if value exists



                  if($insert){
              redirect('SuratMasuk');
              } else {
              echo "<h2>Gagal menambahkan data</h2>";

              }
              }
              }






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Jan 2 at 7:16

























              answered Jan 2 at 6:06









              Danish AliDanish Ali

              1,6552921




              1,6552921













              • i've solve the insert problem , but now i don't know how to update those values. i edited my post, can you help me,please?

                – Keisha Adora
                Jan 2 at 7:03











              • @KeishaAdora you want id_surat with unique ID?

                – Danish Ali
                Jan 2 at 7:12











              • @KeishaAdora see my updated answer

                – Danish Ali
                Jan 2 at 7:18











              • ah what i mean is id surat = 1 has multiple values then i want to update it and remove one of the values in surat_user but when i tried to update the surat_user table become duplicated values because instead of removing id_user = 1 it changesid_user = 1 into id_user = 2

                – Keisha Adora
                Jan 2 at 7:25











              • okay. Show code that you are using for update the record.

                – Danish Ali
                Jan 2 at 7:30



















              • i've solve the insert problem , but now i don't know how to update those values. i edited my post, can you help me,please?

                – Keisha Adora
                Jan 2 at 7:03











              • @KeishaAdora you want id_surat with unique ID?

                – Danish Ali
                Jan 2 at 7:12











              • @KeishaAdora see my updated answer

                – Danish Ali
                Jan 2 at 7:18











              • ah what i mean is id surat = 1 has multiple values then i want to update it and remove one of the values in surat_user but when i tried to update the surat_user table become duplicated values because instead of removing id_user = 1 it changesid_user = 1 into id_user = 2

                – Keisha Adora
                Jan 2 at 7:25











              • okay. Show code that you are using for update the record.

                – Danish Ali
                Jan 2 at 7:30

















              i've solve the insert problem , but now i don't know how to update those values. i edited my post, can you help me,please?

              – Keisha Adora
              Jan 2 at 7:03





              i've solve the insert problem , but now i don't know how to update those values. i edited my post, can you help me,please?

              – Keisha Adora
              Jan 2 at 7:03













              @KeishaAdora you want id_surat with unique ID?

              – Danish Ali
              Jan 2 at 7:12





              @KeishaAdora you want id_surat with unique ID?

              – Danish Ali
              Jan 2 at 7:12













              @KeishaAdora see my updated answer

              – Danish Ali
              Jan 2 at 7:18





              @KeishaAdora see my updated answer

              – Danish Ali
              Jan 2 at 7:18













              ah what i mean is id surat = 1 has multiple values then i want to update it and remove one of the values in surat_user but when i tried to update the surat_user table become duplicated values because instead of removing id_user = 1 it changesid_user = 1 into id_user = 2

              – Keisha Adora
              Jan 2 at 7:25





              ah what i mean is id surat = 1 has multiple values then i want to update it and remove one of the values in surat_user but when i tried to update the surat_user table become duplicated values because instead of removing id_user = 1 it changesid_user = 1 into id_user = 2

              – Keisha Adora
              Jan 2 at 7:25













              okay. Show code that you are using for update the record.

              – Danish Ali
              Jan 2 at 7:30





              okay. Show code that you are using for update the record.

              – Danish Ali
              Jan 2 at 7:30











              0














              First, Show all record from DB and for each record add a button to edit the record.



              Note:- Don't use <form> inside the loop



              <a class="btn btn-warning btn-sm" href="<?= base_url('SuratMasuk/edit_sm/'.$row->id_surat)?>"><i class="fa fa-pencil-square-o" aria-hidden="true"></i>Edit</a>


              Controller for Edit



              I'm just adding backend code here




              where and table is reserved word for DB. It is better to not use it or use in another way.




              public function edit_sm($id_surat){ 
              $condition_array = array('id_surat' => $id_surat);
              $data['surat'] = $this->M_sm->edit_sm($condition_array ,'surat');
              }


              Model for Edit



              Get the record for edit



              This function is getting only one record from DB so use row()



              public function edit_sm($condition_array ,$record_in){     
              $this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
              return $this->db->get_where($record_in, $condition_array )->row();
              }


              Now, Form for will show with data populated in it.



              Getting updated data from Controller



              public function edit_sm_proses() {
              $data = array(
              'id_surat'=> $this->input->post('id_surat'),
              'no_surat'=>$this->input->post('no_surat'),
              'id_status'=>$this->input->post('id_status'),
              'id_user'=>$this->input->post('id_user')
              );
              $condition_array = array(
              'id_surat' => $this->input->post('id_surat')
              );

              $this->M_sm->edit_sm_proses($condition_array, $data, 'surat');
              redirect('SuratMasuk');
              }


              Updating data in Model



              public function edit_sm_proses($condition_array, $data, $record_in){
              $this->db->where($condition_array);
              return $this->db->update($record_in, $data);
              }





              share|improve this answer




























                0














                First, Show all record from DB and for each record add a button to edit the record.



                Note:- Don't use <form> inside the loop



                <a class="btn btn-warning btn-sm" href="<?= base_url('SuratMasuk/edit_sm/'.$row->id_surat)?>"><i class="fa fa-pencil-square-o" aria-hidden="true"></i>Edit</a>


                Controller for Edit



                I'm just adding backend code here




                where and table is reserved word for DB. It is better to not use it or use in another way.




                public function edit_sm($id_surat){ 
                $condition_array = array('id_surat' => $id_surat);
                $data['surat'] = $this->M_sm->edit_sm($condition_array ,'surat');
                }


                Model for Edit



                Get the record for edit



                This function is getting only one record from DB so use row()



                public function edit_sm($condition_array ,$record_in){     
                $this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
                return $this->db->get_where($record_in, $condition_array )->row();
                }


                Now, Form for will show with data populated in it.



                Getting updated data from Controller



                public function edit_sm_proses() {
                $data = array(
                'id_surat'=> $this->input->post('id_surat'),
                'no_surat'=>$this->input->post('no_surat'),
                'id_status'=>$this->input->post('id_status'),
                'id_user'=>$this->input->post('id_user')
                );
                $condition_array = array(
                'id_surat' => $this->input->post('id_surat')
                );

                $this->M_sm->edit_sm_proses($condition_array, $data, 'surat');
                redirect('SuratMasuk');
                }


                Updating data in Model



                public function edit_sm_proses($condition_array, $data, $record_in){
                $this->db->where($condition_array);
                return $this->db->update($record_in, $data);
                }





                share|improve this answer


























                  0












                  0








                  0







                  First, Show all record from DB and for each record add a button to edit the record.



                  Note:- Don't use <form> inside the loop



                  <a class="btn btn-warning btn-sm" href="<?= base_url('SuratMasuk/edit_sm/'.$row->id_surat)?>"><i class="fa fa-pencil-square-o" aria-hidden="true"></i>Edit</a>


                  Controller for Edit



                  I'm just adding backend code here




                  where and table is reserved word for DB. It is better to not use it or use in another way.




                  public function edit_sm($id_surat){ 
                  $condition_array = array('id_surat' => $id_surat);
                  $data['surat'] = $this->M_sm->edit_sm($condition_array ,'surat');
                  }


                  Model for Edit



                  Get the record for edit



                  This function is getting only one record from DB so use row()



                  public function edit_sm($condition_array ,$record_in){     
                  $this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
                  return $this->db->get_where($record_in, $condition_array )->row();
                  }


                  Now, Form for will show with data populated in it.



                  Getting updated data from Controller



                  public function edit_sm_proses() {
                  $data = array(
                  'id_surat'=> $this->input->post('id_surat'),
                  'no_surat'=>$this->input->post('no_surat'),
                  'id_status'=>$this->input->post('id_status'),
                  'id_user'=>$this->input->post('id_user')
                  );
                  $condition_array = array(
                  'id_surat' => $this->input->post('id_surat')
                  );

                  $this->M_sm->edit_sm_proses($condition_array, $data, 'surat');
                  redirect('SuratMasuk');
                  }


                  Updating data in Model



                  public function edit_sm_proses($condition_array, $data, $record_in){
                  $this->db->where($condition_array);
                  return $this->db->update($record_in, $data);
                  }





                  share|improve this answer













                  First, Show all record from DB and for each record add a button to edit the record.



                  Note:- Don't use <form> inside the loop



                  <a class="btn btn-warning btn-sm" href="<?= base_url('SuratMasuk/edit_sm/'.$row->id_surat)?>"><i class="fa fa-pencil-square-o" aria-hidden="true"></i>Edit</a>


                  Controller for Edit



                  I'm just adding backend code here




                  where and table is reserved word for DB. It is better to not use it or use in another way.




                  public function edit_sm($id_surat){ 
                  $condition_array = array('id_surat' => $id_surat);
                  $data['surat'] = $this->M_sm->edit_sm($condition_array ,'surat');
                  }


                  Model for Edit



                  Get the record for edit



                  This function is getting only one record from DB so use row()



                  public function edit_sm($condition_array ,$record_in){     
                  $this->db->join('status_surat', 'status_surat.id_status = surat.id_status');
                  return $this->db->get_where($record_in, $condition_array )->row();
                  }


                  Now, Form for will show with data populated in it.



                  Getting updated data from Controller



                  public function edit_sm_proses() {
                  $data = array(
                  'id_surat'=> $this->input->post('id_surat'),
                  'no_surat'=>$this->input->post('no_surat'),
                  'id_status'=>$this->input->post('id_status'),
                  'id_user'=>$this->input->post('id_user')
                  );
                  $condition_array = array(
                  'id_surat' => $this->input->post('id_surat')
                  );

                  $this->M_sm->edit_sm_proses($condition_array, $data, 'surat');
                  redirect('SuratMasuk');
                  }


                  Updating data in Model



                  public function edit_sm_proses($condition_array, $data, $record_in){
                  $this->db->where($condition_array);
                  return $this->db->update($record_in, $data);
                  }






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jan 2 at 17:58









                  Danish AliDanish Ali

                  1,6552921




                  1,6552921






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53997974%2fhow-to-insert-and-update-multiple-selected-values-with-codeigniter%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      MongoDB - Not Authorized To Execute Command

                      in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

                      How to fix TextFormField cause rebuild widget in Flutter