在codeigniter中设置form_multiselect()中选择的多个值

时间:2013-05-30 12:36:40

标签: php mysql arrays codeigniter key

我想知道是否有一种方法可以在form_multiselect()中设置多个(比方说3)值'selected'。 我使用密钥($ selectie)只使用了1个值,其中$selectie是我的查询,以获取特定公司ID的数据库值。

我的模型查询如下所示:

function getselection($id2)
{
    $this->db->from('bedrijfcategorieen');
    $this->db->join('categorieen', 'bedrijfcategorieen.idcategorieen = categorieen.idcategorieen');
    $this->db->where('bedrijfcategorieen.idbedrijven', $id2);
    $query = $this->db->get();

    return $query->result_array();
}

我的控制器:

    $data['selected'] = $this->members_model->getselection($id2);

我的观点:

<?php
    foreach($selected as $row){
        $selectie[$row['idcategorieen']] = $row['Categorie'];
    }
    echo '<pre>';
    print_r($selectie);
    echo '</pre>';
?>

<tr>
<td><?= form_label('Categorieen'); ?></td>
<td><?= form_multiselect('categorieen[]', $opties, key($selectie)); ?></td>
</tr>

的print_r($ selectie);生产:

Array
(
    [11] => Webdesign
    [12] => Vlaggen
    [13] => Auto-s
)

3 个答案:

答案 0 :(得分:4)

像这样改变你的观点

<?php
    foreach($selected as $row){
        $selectie[] = $row['idcategorieen'];
    }
?>

<tr>
   <td><?= form_label('Categorieen'); ?></td>
    <td><?= form_multiselect('categorieen[]', $opties, $selectie); ?></td>
</tr>

答案 1 :(得分:0)

  $list= Array(
    [11] => Webdesign
    [12] => Vlaggen
    [13] => Auto-s);

 $a=$this->input->post('name');       
    echo form_multiselect('name[]', $list,($a)?$a:'');

$a=$this->input->post('emp_name');
echo form_dropdown('emp_name[]', $employee, ($a)?$a:'' )

答案 2 :(得分:0)

你这样做:

<code>
<td><?= form_multiselect('categorieen[]', $opties, set_value('categorieen')); ?></td>
</code>

它适用于我的多选