【问题标题】:Putting a PHP table in a table将 PHP 表放入表中
【发布时间】:2017-08-14 01:45:57
【问题描述】:

我有一个从 MYSQL 数据库中“拉出”的表,用户可以使用下拉框并保存到 MYSQL。所有这些都有效 - 但桌子不适合 DIV,看起来一团糟。有没有一个我可以有一个水平滚动条来滚动整个表格?

如何将此表放在 1100x545 像素的表中...它会溢出,但它需要适合 div。我希望它水平溢出

echo "<table style=\"float:left;\" width=\"130\" border=\"0\" >";
                foreach($Data as $Item => $Value) {
            if(!is_numeric($Item) && $Item !== "UserIDHere") {
                if($i == 0) {
                    $Unit = substr($Item, 0, 2);
                    $Assignment = substr($Item, 2, 2);
                    $Task = substr($Item, 4, 2);

                    echo "<tr style=\"text-align: center\"><td colspan=\"4\"><p>".$UArr[$Unit]."</p></td></tr>";
                    echo "<tr style=\"text-align: center\"><td colspan=\"4\"><p>".$AArr[substr($Item, 2, 2)]."</p></td></tr>";
                    echo "<tr><td width=\"60\">".$TArr[$Task]."</td><td width=\"50\">".DropDown($Item, $Value)."</td></tr>";

                }
                if($Unit !== substr($Item, 0, 2)) {
                    echo "</tr>";
                    echo "</tr>";
                    echo "<table style=\"float:left;\" width=\"150\" border=\"0\" >";
                    $Unit = substr($Item, 0, 2);
                    echo "<tr style=\"text-align: center\"><td colspan=\"4\"><p>".$UArr[substr($Item, 0, 2)]."</p></td></tr>";
                }
                if($Assignment !== substr($Item, 2, 2)) {
                    $Assignment = substr($Item, 2, 2);
                    echo "<tr style=\"text-align: center\"><td colspan=\"4\"><p>".$AArr[substr($Item, 2, 2)]."</p></td></tr>";
                }
                if($Task !== substr($Item, 4, 2)) {
                    $Task = substr($Item, 4, 2);
                    echo "<tr><td width=\"60\">".$TArr[$Task]."</td><td width=\"50\">".DropDown($Item, $Value)."</td></tr>";
                }
                $i++;
            }

        }
        echo "</table>";

这个的CSS是

.full-segment
{
    width: 1100px;
    height: 545px;
    overflow: scroll;
}

我怎样才能使溢出是水平的)所以你水平滑动而不是垂直滑动?

【问题讨论】:

  • 对应div的关闭在哪里?
  • DIV 需要在 TABLE 之外。您可能希望使用overflow-x: scroll; overflow-y: hidden;,反之亦然,具体取决于超额位置。
  • 这隐藏了 Y 滚动条(耶!),但我怎样才能让它水平溢出?

标签: php html-table echo


【解决方案1】:

将&lt;div&gt; 放在&lt;table&gt; 的范围之外。所以你的代码应该是这样的:

echo "<div foo='bar' foo2='bar2'>
<table foo='bar' foo2='bar2'>";
//populate the table here
echo "</table></div>";

overflow:auto 的默认 CSS 设置将负责其余部分。

编辑:默认 CSS 设置是 not overflow:auto。这是overflow:visible。我的错。您需要在style 属性中显式声明overflow:auto。

更新:使字段水平显示需要将它们放入相同的 &lt;tr&gt; 标记中。每个不同的&lt;tr&gt; 标记都会在表中生成一个新行(在新行上)。为此,您需要重新考虑您的分组以及如何放置这些 &lt;tr&gt; 标记,以及一行中需要多少个字段。不幸的是,在找到适合自己的外观之前,您必须自己进行试验。

此外,表中的表虽然可以正常工作,但如果您没有正确关闭它们,可能会导致很多麻烦。您可能希望确保那段代码正在执行您希望它执行的操作。

【讨论】:

  • 当我把它放在桌子外面时,它会弄乱我的整个网站,因为它是以地铁为主题的 divs 是不同的“页面”
  • 您可以尝试在其周围放置另一张桌子&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tr&gt;&lt;td style="width: 400px; height: 200px; overflow-x:scroll;"&gt;[...]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; 根据需要更改宽度/高度
  • @SetSailMedia 没有区别:/
  • &lt;table style=\"float:left;\" width=\"130\" border=\"0\" &gt; 行上是否有可以合并overflow 的内容?
  • 我不知道。您可以尝试将overflow:auto 添加到style 属性,但我非常怀疑这会起作用。据我所知,添加滚动条的唯一方法是使用overflow。
猜你喜欢
  • 1970-01-01
  • 2016-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 2013-06-24
  • 2021-05-29
相关资源
最近更新 更多