-1

我目前正在使用 html 嵌套表来呈现 SQL 查询的输出。但是,由于 html 嵌套表占用大量内存,我正在寻找替代方案。我可以以某种方式创建几个彼此相邻的表来达到相同的结果吗?

选项 1 - 当前解决方案:

<table>
<td>
<table class='s'>
<tr><td></td></tr>
</table>
</td>
</td>
<table class='s'>
<tr><td></td></tr>
</table>
</td>
</table>

选项 2

<table class='s'>
<tr><td></td></tr>
</table>

...

<table class='s'>
<tr><td></td></tr>
</table>

PS。抱歉上面的奇怪格式,它一直用标签删掉我的代码

4

1 回答 1

0

由于分页不是一种选择...

你是对的,你使用什么技术并不重要——我的好奇心比任何事情都多。另外,我对 PHP 不熟悉,所以请把我的想法作为抽象。您是否尝试/考虑过以下内容(我创建了一个小提琴来演示此http://jsfiddle.net/ninja1/ynuDV/的图形部分):

  • 使用 CSS“表格”来定义该给定页面中任何/所有“表格”的显示使用display:inline-block;
  • 渲染第一个表而不进行任何嵌套。使用按钮或任何您希望拥有的控制杆/键/rowId/userId 来反映您的选择。
  • 然后,您将拦截此控件的操作,如果是一个按钮 - 那么每当单击该按钮时,它将调用一个方法来根据 table1 中的选择以动态和编程方式创建第二个表。
  • 使用来自 table1 的输入呈现表 2 后,相同的规则将适用于 table2。再次使用控件并捕获/利用来自 table2 的选择,然后最终成为要以编程方式创建的 table3 的输入。

正如您在我附在此处的小提琴所看到的那样;尝试通过抓住中心分隔线并将其向左/向右移动来调整窗格的大小。您会注意到,如果显示尺寸允许,表格会彼此相邻排列。

希望这会有所帮助:) 让我知道。


我认为这里最好的方法是使分页对表格可用。

此外,您可以允许用户设置所呈现页面的大小 - 因此允许他们优化以获得最佳性能。因此,您将在表格下方有一个用户可以编辑的文本框,并且预先填充了您最初的决定,例如每页 20 条记录。

最后,确保使用页面大小和页码参数实现 SQL 查询/存储过程,以便数据库执行逻辑并仅返回所需的数据集。考虑这样的事情http://blog.sqlauthority.com/tag/sql-paging/

于 2013-07-26T11:57:00.180 回答