微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

拆分长PHP生成的HTML表格?

我使用MySql查询从我的数据库中选择数据,然后以HTML表格的形式打印它.它工作得很好,很好,但有时表包含数百行,网页看起来非常难看.有没有办法将桌子并排分成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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐