如果它们都具有相同的ID,如何将sql查询中的图像存储在不同的变量下?

时间:2016-10-26 20:00:11

标签: php html sql web

我的问题是我正在开发一个属性网站,它将一个属性的多个imaage存储在另一个表中,以存储有关该表的信息。我使用属性表中的property_id作为images表中的外键。但是我想要检索所有这些图像并将它们存储为不同的变量,以便在滑块中显示这些图像的其他地方使用。我用来检索图像的代码是:

$image_result=mysqli_query($con,"SELECT * FROM tbl_images
    WHERE property_id ='$id' ");


while($row_i = mysqli_fetch_array($image_result))
    {   
        $image = $row_i['image'];
        $property_display = cl_image_tag($image, 
                    array( "width" => 800, "height" => 600, "crop" => "fill" ));

    }

我无法想到如何为每个不同的图像获取单独的变量,因为它们每个都具有相同的属性ID。我想在这里使用这些变量:

<img class="mySlides" src="http://res.cloudinary.com/drfkdkwno/image/upload/v1476532177/<HERE>" style="width:100%">

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:0)

tbl_images表需要主键。如果您没有其他任何东西,请使用代理主键(无论如何,它都是最常用的)。换句话说 - 图像ID,自动增量或其他东西。通过该代理键识别图像。

您也可以使用行号,但这非常不可靠。

答案 1 :(得分:0)

chat后......

扩展您的代码,这是用于获取数据的PHP,

// prepare array to hold image data
$property_display = [];

// query
$image_result = mysqli_query($con,"SELECT * FROM tbl_images WHERE property_id ='$id' ");

// process results
while($row_i = mysqli_fetch_array($image_result)) {   
    // get the image name 
    $image_name = $row_i['image_name'];
    // note the [] here - adding a new element to the array
    $property_display[] = cl_image_tag($image_name, 
                array( "width" => 800, "height" => 600, "crop" => "fill" ));

}

这里获取数据(也检查没有图像)

if ($property_display) {
    // iterate over array
    foreach ($property_display as $image) {
        // echo the image tag stored in the array
        echo $image;
    }
} else {
    echo 'No property images!';
}

相当基本,但希望能给你所需要的东西。

在旁注中看看PDO(http://php.net/manual/en/book.pdo.php) - 这应该是您与数据库交互的方式。特别是为了避免SQL注入。

答案 2 :(得分:0)

使用此方法:

$id = $_GET['id'];  and use is WHERE property_id =  '$id';

之后:

<img src = "<?php $row_I['image'];? >" width="" height="" />