如果语句剥离链接到变量

时间:2014-08-28 15:05:12

标签: php mysql if-statement dreamhost

当我在打印输出的顶部打印img表变量时,它工作正常,但当包含在if语句中时(如果没有图像,我不希望它打印出来空图像标签),这似乎阻止他们工作,因此它会打印一个空的图像标签,任何想法为什么会这样,以及如何解决这个问题?

while ($row = mysql_fetch_row($result)) {
    print '<div class="testimonial">';
    list ($id, $companyname, $testimonialcontent, $name, $imglink, $imgdes, $logo) = $row;
    print "<p>$logo</p>\n";
    print "<p>$imglink</p>\n";
    print "<p>$imgdes</p>\n";
    if ($logo == TRUE) {
    print "<img src='img/$imagelink' alt='$imagedes'>\n";
}
    else {   
}
    print "<h3>$companyname</h3>\n";
}
?>

此时正在打印相关的HTML

<div class="testimonial"><p>1</p>
<p>logo1.jpg</p>
<p>image of starbucks logo</p>
<img src='img/' alt=''>
<h3>Sky Television</h3>

2 个答案:

答案 0 :(得分:1)

我们看不到分配给 $imagelink $imagedes 变量的任何内容。

看起来这些变量在引用它们的上下文中评估为空(零长度)字符串(print语句)。

if条件是比较另一个变量,而不是print语句中引用的那两个变量之一。

我不相信if是&#34;剥离变量链接&#34 ;;我认为问题在于你没有为这些变量分配任何东西。

答案 1 :(得分:0)

你有

if(condition) {
    print image
} else {
}

由于您的else子句为空,如果条件最终为假,则会打印NOTHING。