将多列数组传递给服务器

时间:2012-07-03 17:12:55

标签: php mysql arrays

我有一个页面,数据生成客户端格式为十五列数组。行数将根据用户输入而变化,总共在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>

建议任何人?

1 个答案:

答案 0 :(得分: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:“用户生成数据”},第2行:{...}

  • 您可以尝试通过提交字段为PHP预先解析数组 像这样:

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

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

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

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

很抱歉,但如果没有更好地了解您的互动设计,建议会很尴尬。