将PHP表放在表中

时间:2012-07-22 16:41:25

标签: php html-table echo

我有一个从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;
}

如何使溢出是水平的,所以你是水平滑动而不是垂直滑动?

how it's looking

1 个答案:

答案 0 :(得分:0)

<div>置于<table>范围之外。所以你的代码应该是这样的:

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

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

编辑:默认的CSS设置为 overflow:auto。它是overflow:visible。我的错。您需要在overflow:auto属性中明确声明style

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

此外,表格中的表格虽然有效,但如果不正确关闭它们,可能会造成很多麻烦。您可能希望确保这段代码正在执行您希望它执行的操作。