我试图从某个表中获取数据,其中来自下拉列表值的成员ID等于来自另一个表的id。我也使用jquery ajax。
这是我的控制器 transactions.php
function getdataload(){
$this->db->where('member',$this->input->post('member'));
echo $this->db->get('loading_service')->row()->member;
}
这是 view.php
<label for="member">Member</label>
<select class="form-control" id="member" name="member" required onchange="showCustomer(this.value)">
<option selected="" value="">--select--</option>
<?php foreach ($members as $row): ?>
<option value="<?php echo $row->mem_id; ?>"><?php echo ucwords($row->mem_fname.' '.$row->mem_lname) ?></option>
<?php endforeach ?>
</select>
<p class="help-block text-danger" style="margin-left: 600px; margin-top: -450px; color: red;"><span id="select_member"> </span></p>
<script>
$('#member').on('change',function(){
$.post('<?php echo base_url("transactions/getdataload")?>',
{
mem_id:$(this).val()
}).done(function(res)
{
$('#select_member').text(res);
});
});
</script>
请帮助我这些家伙:
答案 0 :(得分:1)
要做的第一件事是确保从查询中获得结果。尝试像
这样的东西$query = $this->db->get(...);
if ($query->num_rows() > 0) {
return json_encode($query->result());
} else {
return "No data found";
}
然后在ajax成功代码中优雅地处理无数据错误。我有点猜测你希望你的查询结果以json的形式返回。
答案 1 :(得分:1)
尝试: 模型
function getData()
{
$this->db->select('field_name');
$this->db->from('loading_service');
$this->db->where('member',$this->input->post('member'));
$query=$this->db->get();
return $query->row();
}
控制器的
function getdataload(){
$data['member'] = $this->model_name->getData();
$this->load->view("view_name",$data);
}