php - 拆分长 php 生成的 HTML 表?

标签 php html mysql

我使用 MySql 查询从数据库中选择数据,然后以 HTML Table 的形式打印它。它工作完美,很好,但有时表格由数百行组成,并且网页看起来非常尴尬。有没有办法将 table 并排分成 2 或 3 半。

Present Output

enter image description here

Desired output

enter image description here

PHP

<?php
....
echo "<h3>Classes attended :</h3>";
echo "<table class='dates' border='1'>";

 foreach ($results as $dates) {

    echo "<tr><td width='50%'>";
    echo $dates->db_date;
    echo "</td>";
    echo "<td width='50%'>";
    echo $dates->day_name;
    echo "</td>";
    echo "</tr>";

}
echo "</table>";
?>

实现这一目标的最佳方法是什么? 如有帮助,我们将不胜感激。

最佳答案

您可以使用 PHP 来确定循环中的循环索引是否可以被某个数字整除,如下所示:

echo "<h3>Classes attended :</h3>";
echo "<table class='dates' border='1'>";
$rowCount = 1;
$numRows = count($results);
$maxRows = 12;

foreach ($results as $dates) {

    echo "<tr><td width='50%'>";
    echo $dates->db_date;
    echo "</td>";
    echo "<td width='50%'>";
    echo $dates->day_name;
    echo "</td>";
    echo "</tr>";
    if($rowCount % $maxRows == 0 && $rowCount != $numRows)  {
       echo "</table><table class='dates' border='1'>";
    }
    $rowCount ++;
}

echo "</table>";

这就是执行此操作的基础知识。基本上,在循环中,您正在测试每个索引以查看它是否可以被 $maxRows 整除,如果可以,那么您将关闭表并打开一个新表。您必须添加样式才能将表格并排放置。

如果您想扩展这个概念,您可以将 $maxRows 设置为 $numRows 的评估。例如,如果您想将项目尽可能拆分为一半以便仅显示两个表,您可以这样做... $numRows = count($results); $maxRows = round($numRows/2);

关于php - 拆分长 php 生成的 HTML 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39254842/

相关文章:

php - 使用 php 服务器时间设置 Javascript 时间?

php - 如何获取URI的特定部分?

jQuery 监听跨度数的变化

php - Laravel 查询不适用于 where 条件

MySQL - 从一个表到另一个表的引用数据

php - 无法编辑表 PDO PHP 中的记录

php - laravel render() 方法的用途是什么?

JavaScript - CSS 元素样式不会改变?

javascript - <span> 关闭按钮不起作用

mysql - Centos启动时不自动启动MySql