【问题标题】:PHP while loop, table rowPHP while循环,表格行
【发布时间】:2011-06-02 12:46:57
【问题描述】:

我正在尝试遍历数据库并将数据输出到一个 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 查询中的记录集,一切正常我只是不知道如何只创建一个新表行一次?

【问题讨论】:

  • 你在哪里关闭你打开的第一个 tr?靠近表声明的那个。
  • 抱歉错过了那段代码,现在添加。

标签: php loops html-table


【解决方案1】:

您需要在点击 3 时将 $i 变量重置为 1...

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

while ($result) 
{

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

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

}  
echo '</tr></table>';

或者类似的东西......

【讨论】:

    【解决方案2】:
    echo '<table><tr>';
    $i = 0;
    while ($result) {
       if ($i > 2) {
          echo '</tr><tr>';
          $i = 0;
       }
       echo '<td></td>';
       $i++;
    }
    echo '</tr></table>';
    

    【讨论】:

      【解决方案3】:

      我认为您的代码中有一点逻辑上的失误。您想在添加 3 个&lt;td&gt; 时换行。目前您无论如何都添加&lt;td&gt;。你的计数不再起作用了。

      另外我不认为按位运算是你想要的。 如果您一直想要 3 个 td,则使用 &3 将无法实现。例如 3$3 是真的,但 6&3 不是真的。 7&3 是真的。 11&3 是真的。那么 15&3 是真的。您可以重置 $i 或使用 % 运算符。

      【讨论】:

        【解决方案4】:

        或模数:

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

        这样您就不必重新设置 $i。

        【讨论】:

          【解决方案5】:
          else
          {       
            echo '<tr>
              <td>
                <div>Row Data</div>
              </td></tr>';
          }
          

          应改为:

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

          【讨论】:

            猜你喜欢
            • 2013-03-28
            • 1970-01-01
            • 1970-01-01
            • 2011-06-23
            • 2015-12-06
            • 1970-01-01
            • 2016-11-27
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多