while while循环中的图像

时间:2018-05-27 21:11:27

标签: php mysqli

我有一个while循环来获取信息,在循环中我有另一个循环,以获取与主循环不同的表关系的图像的信息... 收集和显示信息很好,当图像表中没有图像路径时,获取与信息相关的图像正常工作..(即:如果没有人上传图片) 它不是Mysql中的实际图像,即图像的路径...

对于EG:

Id 1 =没有图像,显示没有图像pic

Id 2 =图像并显示图像

Id 3 =无图像,但显示来自Id 2的图像(不应显示图像pic)

Id 4 =图像并显示图像

Id 5 =图像并显示图像

Id 6 =无图像,但显示来自Id 2的图像(不应显示图像pic)

Id 7 =无图像,但显示来自Id 2的图像(不应显示图像pic)

$sql_props = mysqli_query($db_conx, "SELECT `image` FROM `images` WHERE `id`='$id' LIMIT 0,1");
while($lex = mysqli_fetch_array($sql_props)){ 

$proppic = $lex["image"];
}
$check_pic = "$proppic";
if (file_exists($check_pic)) {
    $pr_spic = "<img src=\"$proppic\" width=\"100px\" height=\"100px\" border=\"0\" />";
} else {
    $pr_spic = "<img src=\"images/nopimg.png\" width=\"100px\" height=\"100px\" border=\"0\" />";
}

谢谢你,希望有人可以帮忙解决这个问题:)

1 个答案:

答案 0 :(得分:1)

问题很可能是你在while循环的一次迭代中定义了变量$proppic,然后再次访问它,认为变量应该被取消,因为它似乎超出了范围。 / p>

我会尝试在尽可能少地修改代码时为您提供解决方案。

$sql_props = mysqli_query($db_conx, "SELECT `image` FROM `images` WHERE `id`='$id' LIMIT 0,1");
$num_rows = $sql_props->num_rows;
while($lex = mysqli_fetch_array($sql_props)){ 

$proppic = $lex["image"];
}
$check_pic = "$proppic"; //bad style
if ((file_exists($check_pic)) && ($num_rows > 0)) {
    $pr_spic = "<img src=\"$proppic\" width=\"100px\" height=\"100px\" border=\"0\" />";
} else {
    $pr_spic = "<img src=\"images/nopimg.png\" width=\"100px\" height=\"100px\" border=\"0\" />";
}
相关问题