0

我有一个页面,其中包含客户端生成的数据,格式为十五列数组。行数将根据用户输入而有所不同,总行数在 1 到 200 之间。我想以一种有效的方式将这个数组传递给我的服务器,它将使用 php 插入到 MySQL 数据库中,但我不知道应该如何打包数据以进行传输。页面中的数据是使用 JavaScript 生成的,并以这种方式布局:

<div id="row1" class="row">
  <span id="entry1">User generated data.</span>
  <span id="entry2">User generated data.</span>
  <span id="entry3">User generated data.</span>
  ...
  <span id="entry15">User generated data.</span>
</div>
<div id="row2" class="row">
  <span id="entry1">User generated data.</span>
  <span id="entry2">User generated data.</span>
  <span id="entry3">User generated data.</span>
  ...
  <span id="entry15">User generated data.</span>
</div>

有人推荐吗?

4

1 回答 1

0

我不认为多次重复相同的ID是佳能。

<div id="row1" class="row">
  <span id="entry1">User generated data.</span>
  <span id="entry2">User generated data.</span>
  ...
<div id="row2" class="row">
  <span id="entry1">User generated data.</span>

我会使用复合 ID:

<div id="row1" class="row">
  <span id="entry1_1">User generated data.</span>
  <span id="entry1_2">User generated data.</span>
  ...
<div id="row2" class="row">
  <span id="entry2_1">User generated data.</span>
  ...

此时您可以:

  • 构建一个将所有项目作为键/值的 POST 查询:entry1_1=用户生成的数据。...

    这将很容易被 PHP 解析,或者:

  • 在 Javascript 中构建一个 JSON 字符串作为 dicts { row1: { entry1: "User generate data" }, row2: {...}

  • 您可以尝试通过提交如下字段来为 PHP 预解析数组:

    entry[1][1]=用户生成的数据。

    (“entry[1][1]”是键的名称。PHP应该正确解析它)。

您还可以根据您创建新项目的方式,直接创建一个 POST FORM,将这样的字段附加到 DOM:

<input type="text" name="entry[7][14]" value="" class="input" />

抱歉,如果对您的交互设计没有更好的了解,提出建议很尴尬。

于 2012-07-03T18:12:55.647 回答