0

我一直在尝试不同的方法,以便让这个脚本在 MySql DB 中查询图像名称,然后转到目录并返回具有相同名称的图像。概念上似乎很简单,但我不断得到一堆混合结果,并且没有一个结果返回图像。

这是我尝试过的最新代码:

$sqlCar = mysql_query("SELECT img_nm FROM vehicles WHERE sold='n' ORDER BY year DESC");

/***************************
****
Code Returns '1'
******************************/

$dbImage = $sqlCar;
$dirImage = scandir($_SERVER['DOCUMENT_ROOT'].'/car-pics/');

    function imgCompare($dbImage){
    if ($dbImage == $dirImage[img_nm]){
        echo $dirImage[img_nm];
    } else {
        echo "Image Coming Soon";   
    }
}
4

2 回答 2

1

您没有将 $dirImage 作为参数添加到函数中。您可以通过将其添加为参数或将 global 关键字添加到函数的第一行来解决此问题,如下所示:

function imgCompare($dbImage){
    global $dirImage;

    if ($dbImage == $dirImage[img_nm]){
        echo $dirImage[img_nm];
    } else {
        echo "Image Coming Soon";   
    }
}

另外,数据库中的 img_nm 中有哪些值?scandir 使用索引值数组。所以 $dirImage[0] 会工作,但 $dirImage['filename.jpg'] 不会。

于 2013-03-01T23:28:18.807 回答
0

mysql_query 函数不会将您要查找的值直接返回到可以直接访问的 $sqlCar 中。

你将不得不做类似的事情

$row = mysql_fetch_array( $sqlCar );

然后引用数组获取图片名称

$dbImage = $row['img_nm'];
于 2013-03-01T23:34:36.507 回答