我有一个用于图像的基本显示php表,但表中的某些列是空的。
$result = mysql_query("SELECT * FROM table2
WHERE bid=$bid
AND fhid=$fhid
") or die(mysql_error());
echo "<table align='center'>";
while($row = mysql_fetch_array( $result )) {
echo "<tr><td>";
echo '<a href="'.$row['photo1'].'"target="_blank"><img src="'.$row['thumb1'].'" width="180" height="250" alt="'.$row['name'].' '.$row['alttext'].'"/></a>';
echo "</td><td>";
echo '<a href="'.$row['photo16'].'"target="_blank"><img src="'.$row['thumb16'].'"width="180" height="250"alt="'.$row['name'].' '.$row['alttext'].'"/></a>';
echo "</td><td>";
echo '<a href="'.$row['photo2'].'"target="_blank"><img src="'.$row['thumb2'].'" width="180" height="250"alt="'.$row['name'].' '.$row['alttext'].'"/></a>';
echo "</td></tr>";
}
echo "</table>";
例如,如果db表中的带有photo16的行为空,如何更改此脚本以跳过图像而不在页面上显示缺少的图像并继续执行photo2。
我已经检查了所有周围并没有运气与NULL,因为它停止显示整行。提前谢谢。
答案 0 :(得分:0)
如果row不为空,请尝试在while循环内添加条件。像这样:
if(!empty($row)){
echo "<table align='center'>";
echo "<tr><td>";
echo '<a href="'.$row['photo1'].'"target="_blank"><img src="'.$row['thumb1'].'" width="180" height="250" alt="'.$row['name'].' '.$row['alttext'].'"/></a>';
echo "</td><td>";
echo '<a href="'.$row['photo16'].'"target="_blank"><img src="'.$row['thumb16'].'"width="180" height="250"alt="'.$row['name'].' '.$row['alttext'].'"/></a>';
echo "</td><td>";
echo '<a href="'.$row['photo2'].'"target="_blank"><img src="'.$row['thumb2'].'" width="180" height="250"alt="'.$row['name'].' '.$row['alttext'].'"/></a>';
echo "</td></tr>";
}
答案 1 :(得分:0)
检查是否设置了你需要控制的var($ row ['photo16'])
if (isset($row['photo16']) && strlen($row['photo16']) > 0) {
echo '<a href="'.$row['photo16'].'"target="_blank">
<img src="'.$row['thumb16'].'"width="180" height="250"alt="'.
$row['name'].' '.$row['alttext'].'"/></a>';
}
答案 2 :(得分:0)
检查!empty()函数
如下。如果不是空的,则会打印
if (!empty($row['photo16']) > 0) {
echo '<a href="'.$row['photo16'].'"target="_blank">
<img src="'.$row['thumb16'].'"width="180" height="250"alt="'.
$row['name'].' '.$row['alttext'].'"/></a>';
}