Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 图像的While循环中的While循环_Php_Mysqli - Fatal编程技术网

Php 图像的While循环中的While循环

Php 图像的While循环中的While循环,php,mysqli,Php,Mysqli,我有一个while循环来获取信息,在这个循环中我有另一个循环来获取与主循环不同的表关系中的图像的信息。。。 收集和显示信息很好,当图像表中没有图像路径时,获取与信息相关的图像可以正常接受。。(即:如果没有人上传图片) 它不是Mysql中的实际图像,而是图像的路径 例如: Id 1=无图像且不显示图像pic $sql_props = mysqli_query($db_conx, "SELECT `image` FROM `images` WHERE `id`='$id' LIMIT 0,1");

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

例如:

Id 1=无图像且不显示图像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\" />";
}
Id 2=图像并显示图像

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

Id 4=图像并显示图像

Id 5=图像并显示图像

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

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

$sql\u props=mysqli\u query($db\u conx,“从`images`中选择`image`,其中`id`='$id'限制为0,1”);
而($lex=mysqli_fetch_数组($sql_props)){
$proppic=$lex[“图像”];
}
$check_pic=“$proppic”;
如果(文件存在($check_pic)){
$pr_spic=“”;
}否则{
$pr_spic=“”;
}

谢谢,希望有人能帮上忙:)

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

在尽可能少地修改代码的同时,我将尝试为您提供一个解决方案

$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\" />";
}
$sql\u props=mysqli\u query($db\u conx,“从`images`中选择`image`,其中`id`='$id'限制为0,1”);
$num\u rows=$sql\u props->num\u rows;
而($lex=mysqli_fetch_数组($sql_props)){
$proppic=$lex[“图像”];
}
$check_pic=“$proppic”//不良风格
如果((文件存在($check_pic))&($num_rows>0)){
$pr_spic=“”;
}否则{
$pr_spic=“”;
}

$check_pic=“$proppic”这应该做什么?从数据库获取图像路径,然后如果(文件存在($check\u pic)您好谢谢:D排序:D很好,请您也添加我的代码的第二行,定义
$num\u rows
?不,但当我将其放入其中时,将其排序,因为一开始没有注意到它…谢谢Matthias:)真的很感激:)