使用 PHP 分解数据库字段中的项目



我使用的是 mvc 框架,我在表中为每个属性存储了三张图片。现在,当用户选择一个属性时,我希望将三张图片分别显示。我已经在我的模型页面中链接到我的数据库表:

public function get_pictures($pick)
    {
        $sth = $this->db->query("SELECT other_img FROM property WHERE name = '$pick'");//pick is the property the user selects
    }

我的控制器页面具有以下功能:

if(isset($_GET['pick'])){ 
            $pick = $_GET['pick'];
            $this->view->data['picture']=$this->model->get_pictures($pick);
    }

那么在我看来。我正在尝试从表格中内爆不同的图片并在引导轮播中使用它们:

<div class="carousel-inner" role="listbox">
<?php foreach ($picture as $key => $value) { $pix = explode(",", $value);?>
<div class="item active">
<img src="<?php echo URL.'public/'.'images/'.$pix[0]?>" alt="">
</div>
<div class="item">
<img src="<?php echo URL.'public/'.'images/'.$pix[1]?>" alt="">
</div>
<div class="item">
<img src="<?php echo URL.'public/'.'images/'.$pix[2]?>" alt="">
</div>
<?php } ?>
</div>

但它给了我错误:

为 foreach(( 提供的参数无效。

您需要

在函数中添加 return 语句get_pictures($pick)

public function get_pictures($pick)
 {
     $sth = $this->db->query("SELECT other_img FROM property WHERE name = '$pick'");
    return $sth;
 }

我认为错误来自错误的MYSQL查询。

尝试一下:

这是我最喜欢的函数之一,我将其保留在索引的第二行(因此全局可访问(。

// First step in debugging
function sortDump($mixed = null) {
    echo '<pre>';
    var_dump(($mixed == null ? $GLOBALS : $mixed));
    echo '</pre>';
    exit(1);
}

您只需将要检查的值作为参数放置即可使用它。

sortDump($this->model->get_pictures($pick)); // This my help the debug

我认为我们需要研究这一点以获得进一步的煽动。所以回发,但首先是个人批评...

有经验的PHP开发人员将使用以下速记版本:

<?php echo URL.'public/'.'images/'.$pix[2]?>

至 =>

<?=URL .'public/images/'. $pix[2]?>

最新更新