PHP while循环,表行

我通过数据库和输出数据试图循环到的div,如果有3个的div水平进行的跨它将启动一个新的tr ,直到达到另一个3等,这是目前像输出:

[] [] [] [] [] []

目前,当它达到3它开始一个新行,但我不知道我怎么也只能随声附和一个新的我有工作tr一次? 因为它创建一个新表,每次行。

echo '<table><tr>'; while ($result) { $i ++; if ($i&3) { echo '<td> <div>Row Data</div> </td>'; } else { echo '<tr> <td> <div>Row Data</div> </td></tr>'; } } echo '</tr></table>';

$result变量是从我的sql查询记录,一切工作正常我只是不知道如何一次创建一个新的表行?

谢谢

--------------解决方案-------------

您需要在$变量i重置为1,当你打3 ...

$i = 0;
echo '<table><tr>';

while ($result)
{
$i ++;
if ($i<=2)
{
echo '<td>
<div>Row Data</div>
</td>';
}

else
{
echo '</tr><tr>';
echo '<td><div>Row Data</div></td>';
$i = 0;
}
}
echo '</tr></table>';

或者,这样的事情...

echo '<table><tr>';
var $i = 0;
while ($result) {
if ($i > 2) {
echo '</tr><tr>';
$i = 0;
}
echo '<td></td>';
$i++;
}
echo '</tr></table>';

我认为你必须在你的代码稍有逻辑的滑。 你想打破行了,当3 <td>已被添加。 目前你添加一个<td>在任何情况下。 您的计数不工作了。

此外,我不觉得位运算是你想要的。 如果你想3 TD的一切的时候,你会不会完成与&3。 例如3 $ 3是真实的,但6 3是不正确的。 7 3是真实的。 11 3是真实的。 然后15 3是真实的。 您可以重设$ I或者您也可以使用%操作。

或用模:


if ($i % 3 == 0) {
echo '</tr><tr>';
}

所以你不会需要重新设置$我。

else
{
echo '<tr>
<td>
<div>Row Data</div>
</td></tr>';
}

应改为:

else
{
echo '</tr><tr>
<td>
<div>Row Data</div>
</td>';
}

分类:php 时间:2015-03-15 人气:0
本文关键词: PHP,循环,表
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.512 (s). 10 q(s)