通过在数据库中查询图像文件名,在 Codeigniter 中使用 AJAX 显示图像列表

Posted

技术标签:

【中文标题】通过在数据库中查询图像文件名,在 Codeigniter 中使用 AJAX 显示图像列表【英文标题】:Displaying a list of images using AJAX in Codeigniter by querying image filenames form database 【发布时间】:2013-02-28 14:16:00 【问题描述】:

我有一个存储在数据库中的一些图像的文件名列表。我正在尝试使用 ajax 获取该列表,但我收到了警告消息:

[json] (php_json_encode) type is unsupported, encoded as null

下面是我的代码:

控制器:

<?php
class Create extends CI_Controller 

    public function __construct()
    
        parent::__construct();
        $this->load->model('get_files');
    

    public function index()
    
        $data['title'] = 'Create New Map';
        $this->load->view('head&foot/create_header', $data);
        $this->load->view('create', $data);
        $this->load->view('head&foot/create_footer');
    

    // Loads the default tiles into the gallery
    public function update_gallery()
    
        echo json_encode($this->get_files->get_image_list()); 
    


?>

型号:

<?php

/*
 * Returns a list of files from a database
 */

class Get_files extends CI_Model

    public function __construct()
    
        parent::__construct();
        $this->load->database();
    

    function get_image_list()
        return $this->db->query("SELECT * FROM default_tile");
    


?>

在我看来,ajax 请求是:

$.ajax(
          url:'create/update_gallery',
          type:'GET',
          success:function(data)
            $('#default_tiles_view').html(data);
          
       )

任何人都可以看到导致警告的原因吗?

【问题讨论】:

$this-&gt;get_files-&gt;get_image_list() 返回什么? 【参考方案1】:

问题在于您的get_image_list() 方法。它实际上并没有返回一个图像列表,而是一个database result object: $this-&gt;db-&gt;query("SELECT * FROM default_tile") 的结果。

在该函数中,您将需要遍历结果集以获取列表(数组)中的所有图像并从函数返回该列表。

例子:

function get_image_list()
    $images = array();
    $query =  $this->db->query("SELECT * FROM default_tile");

    // simple example
    foreach ($query->result_array() as $row) 
    
      $images[] = $row;
    

    return $images;

【讨论】:

以上是关于通过在数据库中查询图像文件名,在 Codeigniter 中使用 AJAX 显示图像列表的主要内容,如果未能解决你的问题,请参考以下文章

为啥要在图像和 css 文件之后查询字符串?

带有查询字符串的 JavaScript 文件,用于在 img src 中动态生成画布作为 png 图像

通过shell脚本对其他服务器上的数据库执行oracle查询

.NET 图像处理程序在下载时剥离文件类型

仅使用图像而不是通过标签从数据库中查找相似图像

iOS 在照片框架查询中从 Whatsapp 中排除图像