我正在尝试在一个表中显示图像搜索的结果,其中行的行数不超过6个。一旦达到该限制,如何让表自动创建新行?现在,我只有一个非常简单的表格,将所有图像放在一列中:
while($info = mysql_fetch_array( $data ))
{
echo "<table id=table1>";
echo "<tr><td>";
echo "<img src=http://www.website.com/pictures/".$info['photo'] ."> <br>";
echo "<a href=http://www.website.com/pictures/".$info['photo'] . " >Full Quality </a><br> ";
echo "</td></tr>";
}
由于
答案 0 :(得分:1)
您可以使用模数运算符执行此类操作,并检查您的计数器是否可被6整除。您必须执行一些逻辑以查看该行后是否确实需要该结尾。
$counter = 1;
echo "<table id=table1><tr>";
while($info = mysql_fetch_array( $data ))
{
if ($counter % 6==0) {
echo "</tr>";
echo "<tr>"
}
echo "<td>";
echo "<img src=http://www.website.com/pictures/".$info['photo'] ."> <br>";
echo "<a href=http://www.website.com/pictures/".$info['photo'] . " >Full Quality </a><br> ";
echo "</td>";
$counter++;
}
echo "</tr>"
答案 1 :(得分:1)
我尝试了这种方法,以便有3个项目/行,但我在第二行后没有任何东西(我有8个项目)。
while($res = mysql_fetch_array( $cat ))
{
echo "<tr height=\"40\">";
for($i=0; $i < 3; $i++){
echo "<td>";
echo "<a href= 'http://www....org/".$res['tipologie']."'>"; echo $res['tipologie']; echo "</a>";
echo "</td>";
if(!$res = mysql_fetch_array( $cat )){
break;
}
}
echo "</tr>";
}
echo "</table>";
}
答案 2 :(得分:0)
您可以这样做:
echo "<table id=table1>";
while($info = mysql_fetch_array( $data ))
{
echo "<tr>";
for($i=0; $i < 6; $i++){
echo "<td>";
echo "<img src=http://www.website.com/pictures/".$info['photo'] ."> <br>";
echo "<a href=http://www.website.com/pictures/".$info['photo'] . " >Full Quality </a><br> ";
echo "</td>";
if(!$info = mysql_fetch_array( $data )){
break;
}
}
echo "</tr>";
}
echo "</table>";
这里的基本想法是你只需要循环内部循环来跟踪你何时达到6个项目并相应地开始一个新行。
另外,作为评论者指出,请务必在适当的地方打开桌子,并确保关闭它。我试着在下面的代码中给出一个例子。