【问题标题】:Easiest implement for a dynamically updating table on a webpage (java/css)网页上动态更新表格的最简单实现(java/css)
【发布时间】:2015-01-15 19:58:54
【问题描述】:
我已经用谷歌搜索并研究了几天;我正在尝试在我已完成的项目网站的页面上实现动态更新表。我遇到过“用于 jQuery 的 DataTables Table 插件”,它看起来很流畅,使用 CSS,并支持“DOM、Javascript、Ajax 和服务器端处理”。我基本上只是想在我的页面上安装一个可滚动的类似 Excel 的表格,并且不需要我每次更新都重新发布该页面或将 Java 行添加到表格文件并将文件上传到我的主机每次我有新内容。我正在考虑使用 Google Docs 电子表格,因为我在 Google Calendar 上取得了成功......但是在使用 gcal-flow + jQuery 进行数周的摆弄以使其正常工作和格式化/样式化之后,我很害怕处理另一个这样的 Google承诺。此外,我对 SQL 毫无了解,而且最后期限即将到来 :( 而且我每月的数据最终会翻倍和三倍,因此电子表格将处理很多行。
Google Docs 是通往这里的路吗?编写 Java 文档并上传是否更容易?原谅我有限的知识;感觉就像我错过了一个非常明显的解决我的困境的方法。
【问题讨论】:
标签:
javascript
jquery
html
css
datatable
【解决方案1】:
您没有提供您网站的详细信息,无论它是在 Apache 上运行还是在其他平台上运行。那么假设PHP可以在那里运行,您可以使用它来动态生成表格。
我会给你一个代码 sn-p,它可能对你有帮助,当然可以根据你的需要定制它。
- 创建一个PHP文件,我们称之为“dynamicTable.php”。谁的内容将是 -
<html>
<body>
<!-- The following part is the css, modify it as per your needs -->
<style>
.table1 {
color:blue;
}
</style>
<!-- This part is the actual table, the data being generated dynamically by PHP -->
<table class="table1">
<?php
/* Get contents from the data file */
$tableContents = file_get_contents("tableData.txt");
/* Split it out in rows */
$tableContents = explode("\n",$tableContents);
/* Generate the table based on the data */
foreach($tableContents as $i=>$v)
{
?>
<tr>
<?
/* Splits the items in a row by TAB character, or more than 1 spaces */
$row = preg_split('/\s+/', $v);
foreach ($row as $item)
{
echo ($i==0 ? "<th>":"<td>").$item.($i==0 ? "</th>":"</td>");
}
?>
</tr>
<?php
}
?>
</table>
</body>
</html>
- 在与 dynamicTable.php 文件相同的文件夹中创建一个
tableData.txt 文件,并将您的内容放在那里,例如
Column1 Column2 Column3 Column4 Column5
Mazda BMW Audi Honda Hyundai
RX7 GT3 A7 Accord Santro
第一行是表格列标题,之后每一行代表一行。在每一行中,数据项由制表符空格(制表符键)分隔。
为了使页面动态化,您只需在服务器中编辑此文本文件并编辑/添加所需的值。它会自动反映在您的页面中,而无需重新发布实际页面。
- 相反,如果您想让页面真正动态化,您可以选择 JQuery / Ajax(我发现这不是您的要求)。这将使页面在浏览器本身中打开时自动刷新,当您更新/编辑数据文件中的值时。