Javascript/PHP,使用文本文件作为数据库并将内容组织成数组 table
Javascript/PHP, use text file as a database and organize content into an arrayed table
我正在尝试找到最简单的方法来执行此操作。 (PHP 或 Javascript)
基本上,我有一个如下所示的文本文件:
1
的
de/dí /dì
(possessive particle)/of, really and truly, aim/clear
2
一
yī
one/1/single/a(n)
3
是
shì
is/are/am/yes/to be
4
不
bù /bú
(negative prefix)/not/no
5
了
le/liǎo /liào
(modal particle intensifying preceding clause)/(completed action marker), to know/to understand/to know, clear, look afar from a high place
我想读取数据并将其插入到一个table中,例如:
<table cellpadding="0" cellspacing="0" border="1">
<tr>
<td width="50" height="50" align="center">1</td>
<td width="50" height="50" align="center" >的</td>
<td width="50" height="50" align="center">de/dí /dì</td>
<td width="50" height="50" align="center">(possessive particle)/of, really and truly, aim/clear</td>
</tr>
<tr>
<td width="50" height="50" align="center">2</td>
<td width="50" height="50" align="center">一</td>
<td width="50" height="50" align="center">yī </td>
<td width="50" height="50" align="center">one/1/single/a(n)</td>
</tr>
</table>
我想有两种方法可以做到这一点。首先是将内容组织成变量 (1a, 1b, 1c, 1d, 2a, 2b, 2c, 2d...) 然后找到一些方法以最小的努力将变量插入一组 tables。
第二种方式是将数据组织成一个数组,然后将数据数组化生成一个table。我认为这可能是最好的方法,但我需要能够指定 table 的哪一部分(如第 1 页(条目 1-100)等
假设每个条目始终有 4 行,首先将文件读入一个数组,其中每个值都是一行。然后创建一个循环,每 4 行迭代一次 (i = i + 4),并在循环体内访问与当前迭代相关的每个元素 (line[i]、line[i+1]、line[i+) 2], 第[i+3]行).
或者,您可以使用 JSON 数组将数据存储在文件中,其中每个值都是它自己的对象,包含每个条目作为它自己的键。 PHP 和 JavaScript 都原生支持读写 JSON。然后你可以循环遍历结果数组并指向你需要的键。
如果文件中的每个数据集总是由 4 行组成,这就是生成 table 行的方法:
<?php
$rows=file('path/to/file.txt');
$start=1;
$max=100;
echo '<tr>';
for($length=count($rows); $start<=$length && $start<=$max; $start++){
echo '<td>',$rows[$start-1],'</td>';
if($start %4 == 0) echo '</tr><tr>';
}
echo '</tr>';
?>
然后您只需要围绕它构建其余的 table。在 CSS 文件中设置格式(如高度)。要仅显示部分数据,只需相应地设置 $start
和 $max
变量即可。为了简洁起见,我把它写得很短。显然,添加检查文件是否实际上是空的等等...
我正在尝试找到最简单的方法来执行此操作。 (PHP 或 Javascript) 基本上,我有一个如下所示的文本文件:
1
的
de/dí /dì
(possessive particle)/of, really and truly, aim/clear
2
一
yī
one/1/single/a(n)
3
是
shì
is/are/am/yes/to be
4
不
bù /bú
(negative prefix)/not/no
5
了
le/liǎo /liào
(modal particle intensifying preceding clause)/(completed action marker), to know/to understand/to know, clear, look afar from a high place
我想读取数据并将其插入到一个table中,例如:
<table cellpadding="0" cellspacing="0" border="1">
<tr>
<td width="50" height="50" align="center">1</td>
<td width="50" height="50" align="center" >的</td>
<td width="50" height="50" align="center">de/dí /dì</td>
<td width="50" height="50" align="center">(possessive particle)/of, really and truly, aim/clear</td>
</tr>
<tr>
<td width="50" height="50" align="center">2</td>
<td width="50" height="50" align="center">一</td>
<td width="50" height="50" align="center">yī </td>
<td width="50" height="50" align="center">one/1/single/a(n)</td>
</tr>
</table>
我想有两种方法可以做到这一点。首先是将内容组织成变量 (1a, 1b, 1c, 1d, 2a, 2b, 2c, 2d...) 然后找到一些方法以最小的努力将变量插入一组 tables。
第二种方式是将数据组织成一个数组,然后将数据数组化生成一个table。我认为这可能是最好的方法,但我需要能够指定 table 的哪一部分(如第 1 页(条目 1-100)等
假设每个条目始终有 4 行,首先将文件读入一个数组,其中每个值都是一行。然后创建一个循环,每 4 行迭代一次 (i = i + 4),并在循环体内访问与当前迭代相关的每个元素 (line[i]、line[i+1]、line[i+) 2], 第[i+3]行).
或者,您可以使用 JSON 数组将数据存储在文件中,其中每个值都是它自己的对象,包含每个条目作为它自己的键。 PHP 和 JavaScript 都原生支持读写 JSON。然后你可以循环遍历结果数组并指向你需要的键。
如果文件中的每个数据集总是由 4 行组成,这就是生成 table 行的方法:
<?php
$rows=file('path/to/file.txt');
$start=1;
$max=100;
echo '<tr>';
for($length=count($rows); $start<=$length && $start<=$max; $start++){
echo '<td>',$rows[$start-1],'</td>';
if($start %4 == 0) echo '</tr><tr>';
}
echo '</tr>';
?>
然后您只需要围绕它构建其余的 table。在 CSS 文件中设置格式(如高度)。要仅显示部分数据,只需相应地设置 $start
和 $max
变量即可。为了简洁起见,我把它写得很短。显然,添加检查文件是否实际上是空的等等...