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() ?