0
我正在尝试为包含景观和个人资料照片的朋友组合一个照片组合。 我有一张SQL表格,里面有照片的详细信息,包括一列说明照片是水平的还是垂直的。重新排列MySQL数据以适合每行有不同列数的4列表格(使用colspan)
表格行被分组为3: 表格的第一行显示了4张垂直图片。 第2行显示1个垂直图像,1个水平图像,其中colspan为2,然后是另一个垂直图像。 第3排显示4张垂直照片。
根据需要重复上述模式。
我可以通过使用下面的代码将表格限制为4列,并为水平照片添加一个colspan,但它不是按照正确的顺序 - 它也会丢失第一个记录。
任何帮助,将不胜感激!
<?php
$cols = 4; // number of columns
$c = 1;
echo "<table border=1>";
echo "<tr>";
while ($row_photos = mysql_fetch_assoc($photos)) {
if ($row_photos['photo_type'] == "Vertical") {
echo "<td>".stripslashes($row_photos['photo_file'])." ".stripslashes($row_photos['photo_type'])."</td>";
}
elseif ($row_photos['photo_type'] == "Horizontal") {
echo "<td colspan=\"2\">".stripslashes($row_photos['photo_file'])." ".stripslashes($row_photos['photo_type'])."</td>";
$c++;
}
if ($c == $cols) {
echo "</tr><tr>";
$c = 1;
} else { $c++; }
}
echo "</tr>" ;
echo "</table>";
?>
你应该简单地把图像放在那里并设置填充。没有需要的桌子! – Brad 2011-06-16 21:51:58
您想要将c更改为0.否则,在第一张图片c为2之后,在第二张图片c为3之后,在第三张图片之后,它已经在4并且创建一个新的行。对于这个命令,原因可能在你的SQL查询中? – Dan 2011-06-16 21:56:33
您所描述的内容要求数据库中的记录完全按照正确的顺序排列。你确定他们是? – jeroen 2011-06-16 21:58:17