php - 借助 PHP 和 HTML 动态创建行和列

标签 php html foreach html-table

我想在 PHP 和 HTML 的帮助下创建动态行和列,但我对这段代码有点困惑,因此非常感谢您的帮助。

<table>
<?php
  $tr = 0;
  foreach ($data as $db_data) {
    $tr++;
    if ($tr == 1) {
      echo "<tr>";
      }

    echo "<td>";
    echo $db_data['id'];
    echo "</td>";
    }

  if($tr == 2){

    }
?>
</table>

场景很简单:

Mysql 数据从 for-each 循环返回 6 条记录,结果将如下图所示

enter image description here

同理Mysql数据返回3条记录 结果会像这张图显示

enter image description here

最佳答案

可能是这样的

函数创建表()

function create_table($data) {
  $res = '<table width="200" border="1">';
  $max_data = sizeof($data);
  $ctr = 1;
  foreach ($data as $db_data) {
    if ($ctr % 2 == 0) $res .= '<td align="center">' . $db_data['id']. '</td></tr>';
    else {
      if ($ctr < $max_data) $res .= '<tr><td align="center">' . $db_data['id']. '</td>';
      else $res .= '<tr><td colspan="2" align="center">' . $db_data['id']. '</td></tr>';
      }
    $ctr++;
    }
  return $res . '</table>';
  }

当然,您可以修改表格的样式以满足您的需要。

这样调用它:

echo create_table($data);

输出

(7、4、3 和 8 个 id 的示例) enter image description here

如果传递偶数个 id,返回每列行数相同的表;如果传递奇数个 id,则返回合并最后一行的表。

关于php - 借助 PHP 和 HTML 动态创建行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821103/

相关文章:

php - 使用 PHP 循环向元素添加 Bootstrap 行和适当的列号

.net - .NET foreach 语句是否保证以与构建集合相同的顺序迭代集合?

php - 我的基本PHP Socket Server是否需要优化?

php - 如何过滤Excel中的重复数字并将数据发送到MySQL,并且我想在Php中显示警报消息?

php - 在 PHP 版本中正确处理 NAN

php - fatal error : Cannot use isset() on the result of an expression

当插入到 mysql 时,PHP 缺少动态表中的第一行复选框值?

html - 在不同颜色的 html anchor 下划线

c# - ForEach循环不改变类的属性

php - 将 css 应用于数组中的特定元素