Php 基于codeigniter的活动记录结果()内爆;

Php 基于codeigniter的活动记录结果()内爆;,php,codeigniter,Php,Codeigniter,我有一个返回如下对象的模型: 型号 public function getAllNama() { $this->db->select('nama'); $query = $this->db->get('tbl_user'); return $query->result(); } 控制器 $data['users'] = $this->model_user->getAllNama(); $this->load->vie

我有一个返回如下对象的模型:

型号

public function getAllNama() {
    $this->db->select('nama');
    $query = $this->db->get('tbl_user');
    return $query->result();
}
控制器

$data['users'] = $this->model_user->getAllNama();
$this->load->view('it_team/view_manual_entry', $data);
鉴于此,我在html上操作它时遇到了一个问题。 在我的例子中,我使用这样的基于自动完成的jquery

<input id="data_user"type="text" data-provide="typeahead" data-items="4" 
    data-source='[<?=  ?>]'
    ">
哪一个是print user1user2,我如何以合适的字符串格式在数据源上传递它

我知道内爆,但我尝试了很多方法,但仍然没有成功。如有任何解决方案,我们将不胜感激。。 谢谢

试试这个:

 <?php
    $names = '';
    foreach($users as $user){
       $names .= '"'.$user->nama.'",'; 
    }
    $names = trim($names, ','); ?>
    <input id="data_user"type="text" data-provide="typeahead" data-items="4" 
        data-source='[<?php echo $names;?>]'>


不需要所有这些,您只需在控制器中清理它,如您所述使用
内爆
,然后将其发送到您的视图,如下所示:

控制器:

public function getNamas(){
    $namas = $this->my_model->getAllNama();
    foreach ($namas as &$nama) {
        $nama = "'$nama->nama'";
    }
    $data['users'] = implode(",", $namas);
    $this->load->view('it_team/view_manual_entry', $data);
}
<input id="data_user"
       type="text"
       data-provide="typeahead"
       data-items="4"
       data-source="[<?= $users ?>]"
>
查看:

public function getNamas(){
    $namas = $this->my_model->getAllNama();
    foreach ($namas as &$nama) {
        $nama = "'$nama->nama'";
    }
    $data['users'] = implode(",", $namas);
    $this->load->view('it_team/view_manual_entry', $data);
}
<input id="data_user"
       type="text"
       data-provide="typeahead"
       data-items="4"
       data-source="[<?= $users ?>]"
>

您确定它的
数据源=“[“nama1”,“nama2”]”而不是
数据源=“[“nama1”,“nama2”]”吗
?另外,您的foreach在变量名上缺少
$
。您有一个
额外的变量名,您缺少
[]
。谢谢,它正在工作。您能给我一个解决方案吗?当用户选择一个用户时,它会自动在另一个html中显示该用户的所有数据,这是Ajax可以做到的。我应该选择什么,focusOut() ?