我无法从数据库中获取所有图像仅从数据库中获取单个图像

Posted

技术标签:

【中文标题】我无法从数据库中获取所有图像仅从数据库中获取单个图像【英文标题】:I can't get all images from database Only single Image get from database 【发布时间】:2019-07-08 06:22:26 【问题描述】:

这是我的模特造型

public function fetchimage()
        $this->db->select('u_id,file_name');
        $this->db->from('image');
        if($this->session->userdata('id'))
            $this->db->where('u_id',$this->session->userdata('id'));
            $query = $this->db->get();
            $query->result_array();
            $result = $query->row_array();
            echo '<pre>';
            print_r($query);
            die();
        
        return !empty($result)?$result:false;
    

这是我的观点

<?php 
            $this->load->model('user');
            $data['uploadData'][] = $this->user->fetchimage();
            ?>
            <div class="row">
                <ul class="gallery">
                    <?php if($data['uploadData']) foreach($data['uploadData'] as $data['uploadData'])
                    ?>
                    <li class="item">
                        <img src="<?php echo base_url('/assets/uploads/files/'.$data['uploadData']['file_name']); ?>" >
                    </li>
                    <?php  else ?>
                    <p>Image(s) not found.....</p>
                    <?php  ?>
                </ul>
            </div><br>

图像未全部打印。它只打印一张图像。虽然我采取 foreach 循环。 在模型中我打印查询,即打印所有图像,但在视图中它不打印图像。

【问题讨论】:

更新 $data['uploadData'][] = $this->user->fetchimage() 到 $data['uploadData'] = $this->user->fetchimage() 并检查一次 我试过但它显示错误文件名的非法字符串偏移 如果删除代码echo '&lt;pre&gt;'; print_r($query); die();会怎样? 它只显示一张图片而不是全部 【参考方案1】:

试试这个,

row_array() 将为您提供具有数组格式的数组的单行,result_array() 将为您提供具有数组格式的数组的多行。

public function fetchimage()
        $this->db->select('u_id,file_name');
        $this->db->from('image');
        if($this->session->userdata('id'))
            $this->db->where('u_id',$this->session->userdata('id'));
            $query = $this->db->get();
            $result = $query->result_array();
            echo '<pre>';print_r($query);die();
        
        return !empty($result)?$result:false;
    

查看:

<?php
$this->load->model('user');
$data['uploadData'] = $this->user->fetchimage();
?>
<div class="row">
     <ul <?php if ($data['uploadData']) 
           foreach ($data['uploadData'] as $rowData)  ?>
               <li class="item">
                   <img src="<?php echo base_url('/assets/uploads/files/' .$rowData['file_name']); ?>" >
               </li>
           <?php   else  ?>
           <p>Image(s) not found.....</p>
         <?php  ?>
    </ul>
</div>
<br>

【讨论】:

我已经尝试过了,它显示了所有数据,但在查看模式下它不显示数据。它只显示一张图片 从 `$data['uploadData'][] 中删除最后一个 [] 括号并尝试 我试过但它显示错误 illegal string offset 'file_name' 刚刚更新了你的foreach循环,请检查并告诉我

以上是关于我无法从数据库中获取所有图像仅从数据库中获取单个图像的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 获取单个数据库引用

如何仅从系列或列表中获取特定值[关闭]

仅从更多元素中获取唯一名称

如何仅从 JSON 数据中获取最后 10 个对象

无法从 firebase 查询 Flutter 中获取单个记录

无法仅从模型页面获取 URL 段