首页 > 解决方案 > 想从 sql db 中获取图像 src 并通过 ajax codeigniter 显示视图文件

问题描述

我是 php 新手...我在 codeigniter 中开发了 ajax 动态相关下拉菜单,它可以工作,我想要的是当最后一个下拉菜单的选项被选择时,它应该显示所选选项的图像请帮助

查看和ajax:

<div id="student_img">
<img src="" class="student_img">    
</div>
                <script>$('#student').change(function()
        {
            var s_id = $('#student').val();

            if(s_id != ''){
                $.ajax({
                    url:"<?php echo base_url(); ?>dynamic_controller/fech_student_img",
                    method:"POST",
                    data:{s_id:s_id},
                    success:function(data){
                        $('#student_img').html(data);
                    }
                })
            }


        });</script>

控制器:

public function fech_student_img(){
        if($this->input->post('s_id'))
        {
            echo $this->dynamic_model->fech_student_img($this->input->post('s_id'));
        }
    }

型号 ftn:

public function fech_student_img($s_id){
        $query = $this->db->select('s_img')->from('student')->where('s_id',$s_id)->get();
        $q = $query->result();
        $output = '<img src="'.$q.'">';
        return $output;
    }

消息:数组到字符串的转换

文件名:models/dynamic_model.php

标签: phpajaxcodeigniter-3

解决方案


错误

数组到字符串的转换

意思就是它听起来的样子:您正在尝试将数组用作字符串。在这段代码...

$query = $this->db->select('s_img')->from('student')->where('s_id',$s_id)->get();
$q = $query->result();
$output = '<img src="'.$q.'">';

...$q 将生成数据库中与您的查询匹配的所有行的数组。如果您只想返回一行,您的代码应如下所示,具体取决于您的数据结构:

$query = $this->db->select('s_img')->from('student')->where('s_id',$s_id)->get();
$row = $query->row();
$output = '<img src="'.$row->s_img.'">';

推荐阅读