限制动态填充表中的行项数 - PHP,MySQL

时间:2011-10-03 23:16:17

标签: php mysql

我正在尝试在一个表中显示图像搜索的结果,其中行的行数不超过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>";
 }

由于

3 个答案:

答案 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个项目并相应地开始一个新行。

另外,作为评论者指出,请务必在适当的地方打开桌子,并确保关闭它。我试着在下面的代码中给出一个例子。