2017-09-23 4 views
1

Ich versuche, ein Formular_multiselect speichern, aber es nicht speichern und den Wert nicht auswählen. Ich hoffe du kannst mir bitte helfen.Codeigniter speichern form_multiselect in Datenbank und set_value

Edit: Es funktioniert jetzt aber nur mit einer einzigen Auswahl. Ich kann nicht mehr als eine Option auswählen.

ich versuchen, diese

Ansicht

<div class="form-group"> 
       <label class="col-sm-2 control-label" for="field-1"> Team</label> 

       <div class="col-sm-4"> 

       <?= form_multiselect('teams_id[]', dd2menu('teams', array('teams_id' => 'title')), set_value('teams_id[]', $item->teams_id), 'class="form-control"') ?> 

       </div> 
</div> 

-Controller

public function manage($id = NULL) { 
     $data = array(); 

     if ($id) { 
      $this->{$this->model}->{$this->_primary_key} = $id; 
      $data['item'] = $this->{$this->model}->get(); 
      if (!$data['item']) 
       show_404(); 
     } else { 
      $data['item'] = new Std(); 
     } 


$this->load->library("form_validation"); 
$this->{$this->model}->custom_select = 'users.*, teams.title as teams'; 
$this->{$this->model}->joins = array('teams' => array('teams.teams_id = users.teams_id', 'inner')); 

if ($this->form_validation->run() == FALSE) 
$this->load->view($this->module . '/manage', $data); 

else { 

$this->users_model->teams_id = $this->input->post('teams_id'); 

$this->{$this->model}->save(); 
      redirect('admin/' . $this->module); 
     } 
    } 

Modell

class Users_model extends CI_model 
{ 
    public $_table = 'users'; 
    public $_primary_keys = array('user_id'); 
} 

Ich kann nicht den Fehler finden, weil sein, wenn ich ein wählen Sie arbeiten. Aber ich kann mehr als eine Option auswählen.

+0

Sie auf diesen Link für Ihre Referenz verweisen https://stackoverflow.com/questions/16836390/set-multiple-values-as-selected-in-form-multiselect-in-codeigniter –

+0

Ich sah das vor, aber es funktionierte nicht für mich. Ich kann es als Single speichern. Aber ich kann 2 oder mehr Optionen nicht speichern – Gregor

+0

Bitte schreiben Sie den Code-Controller und die Datei. –

Antwort

0

Wenn das Problem in den anderen Code von NikuNi gefunden.

Nun ist es sicher 1 oder 1,2 in der Datenbank.

-Controller

if(is_array($this->input->post('teams_id'))) { 
      $this->{$this->model}->teams_id = join(",", $this->input->post('teams_id')); 
      } else { 
      $this->{$this->model}->teams_id = $this->input->post('teams_id'); 
      } 

$this->form_validation->set_rules('teams_id[]', 'teams_id', 'trim'); 
Verwandte Themen