这是我的代码,实际上在本地服务器上工作,但是当我在线上传时,它不工作
我的查看页面
<input type="text" class="typeahead form-control" onkeypress="getmedicien(0)" id="medicine_name0" name="medicine_name0">
function getmedicien(n){
$("#medicine_name"+n).autocomplete({
source: "<?php echo site_url('doctor_prescription/get_mediciens'); ?>",
select: function(event,ui){
event.preventDefault();
$("#medicine_name"+n).val(ui.item.value);
$("#medicine_id"+n).val(ui.item.id);
}
});
}
此“我的控制器”代码
public function get_mediciens(){
$term = $this->input->post('term');
$this->db->distinct();
$this->db->select("id,name");
$this->db->from('medicine');
$this->db->like('name', $term);
$this->db->group_by('medicine.name');
$this->db->limit(10);
$query = $this->db->get();
$mediData = array();
foreach ($query->result_array() as $row)
{
$data['id'] = $row['id'];
$data['value'] = $row['name'];
array_push($mediData, $data);
}
echo json_encode($mediData);
}
答案 0 :(得分:0)
如果您获得Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column(...)
,则意味着您的生产数据库处于严格模式下(这是一件好事),从其认为有效的角度考虑,它的灵活性有所降低。
要执行的许多规则之一是,使用group by
时,select
语句中的第一个元素必须是分组的元素之一。
尝试将$this->db->group_by('medicine.name');
的{{1}}更改为正常,