如何在我的 while 循环中每 4 个 mysql 条目后打印出 <tr>


How can I print out <tr> after every 4 mysql entries in my while loop?

$q2 = mysql_query("SELECT * FROM artwork LEFT JOIN folder ON folder.folder_id=artwork.folder_id WHERE id IN(0".$userids.")");  
                while($row = mysql_fetch_array($q2)){
$link .= '<td align="center"><a href="/art/'.$row['id'].'" title="'.$row['name'].'">
            <img src="/img/artwork/'.$row['folder'].'/'.$row['file'].'" height="80" /></a><br />
            <span align="center"><a href="#">[remove]</a> <a href="/art/'.$row['id'].'">[view]</a></span></td>';
            }

链接正在用一个 td 回显出来,但我需要让它在每 4 个 mysql 条目后添加一个 tr

只需维护一个计数器并测试它是否可以被 4 整除:

$counter = 0;
while ($row = mysql_fetch_array($q2)) {
    if ($counter%4 === 0) $link .= "<tr>";
    $link .= "<td>...</td>";
    if ($counter%4 === 3) $link .= "</tr>";
    $counter++;
}

定义一个变量来计算 td 的 并检查它是否是 rminder 4 是 0,然后打开一个关闭tr

$item = 0;
while ($row = mysql_fetch_array($q2)) {
    if ($item  % 4 == 0) $link .= "<tr>";
    $link .= "<td>...</td>";
    if ($item % 4 == 0) $link .= "</tr>";
    $item++;
}
if($item  % 4 != 0){//IF COUNT OF TD IN LAST ROW IS LESS THAN 4
    while($item  % 4 != 0){
        $link.= "<td></td>";
        $item++;
    }
    $link.= "</tr>";
}