当我在打印输出的顶部打印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>
答案 0 :(得分:1)
我们看不到分配给 $imagelink
或 $imagedes
变量的任何内容。
看起来这些变量在引用它们的上下文中评估为空(零长度)字符串(print
语句)。
if
条件是比较另一个变量,而不是print
语句中引用的那两个变量之一。
我不相信if
是&#34;剥离变量链接&#34 ;;我认为问题在于你没有为这些变量分配任何东西。
答案 1 :(得分:0)
你有
if(condition) {
print image
} else {
}
由于您的else子句为空,如果条件最终为假,则会打印NOTHING。