我写了一段php代码来显示来自mysql的图片
echo "<table><tr> ";
while($cat = $db->sql_fetchrow($catinfo)) {
echo '
<td>
<ul id="three-col" class="press">
<li>
<div class="post-content">
<a class="zoom1" href="'.$galsettings[setImgDir].'/'.$cat[galCatLocation].'/'.$cat[galCatImg].'">
<img src="'.$galsettings[setImgDir].'/'.$cat[galCatLocation].'/'.$cat[galCatImg].'" alt="artistry (via powerbooktrance)" />
</a>
</div>';
for ($i=0; $i>2; $i++) {
echo "</tr><tr>";
}
}
echo "</li></ul></td></tr></table>";
但是使用此代码时,一切都会出错,并且在行中的每3个图像之后它都没有破坏
我甚至用过
if ($i>2) {
echo "</td></tr><tr>";
}
但是你知道它只会在图像编号3之后打破tr而不是每一行
我真的很抱歉我的愚蠢问题
答案 0 :(得分:2)
首先,
for ($i=0; $i>2; $i++) {
应该是
for ($i=0; $i < 2; $i++) {
可能还有其他逻辑问题(看)......
事实上,这种逻辑似乎完全是有缺陷的。似乎没有任何东西可以检测到第三张图像......==&GT;我建议你试试tambler的回答片段。没有必要尝试并修复这个......但如果你必须:
for ($i=0; $i>2; $i++) {
循环是不必要的。即使固定为$ i&lt; 2(或3 ...)这没有任何用处。<td>
,需要使用</td>
<ul>
和<li>
及其各自的结束标记也是错误的。答案 1 :(得分:2)
试试这个:
echo "<table><tr> ";
$counter = 0;
while($cat = $db->sql_fetchrow($catinfo)) {
$counter++;
echo '
<td>
<ul id="three-col" class="press">
<li>
<div class="post-content">
<a class="zoom1" href="'.$galsettings[setImgDir].'/'.$cat[galCatLocation].'/'.$cat[galCatImg].'">
<img src="'.$galsettings[setImgDir].'/'.$cat[galCatLocation].'/'.$cat[galCatImg].'" alt="artistry (via powerbooktrance)" />
</a>
</div>
';
if ( $counter == 3 ) {
echo '</tr><tr>';
$counter = 0;
}
}
echo "</li></ul></td></tr></table>";
答案 2 :(得分:0)
你在哪里</td>
代码?
所有的TD都必须在TR内。您必须在TR之前关闭UL和TD。