3

我有两页:

  • 图形.php
  • 列表.php

Graph 页面完全按照它的名字命名,绘制数据。如果没有发布/获取数据,它会显示给定表中的所有数据。

List 页面是一个巨大的表格,其中加载了大约 500-600 行数据。在表格中,您可以使用 JavaScript 对行进行排序和过滤。该表大约有 14 列宽。

在列表页面中对行进行排序后,您可以按下“图表”按钮,该按钮将获取可见行并在图表页面上绘制它们。

我遇到的问题是将这些 ID 传递到图形页面。我开始:

<?php
if(isset($_POST['data']))
{
    echo "FOUND SERIALIZED ARRAY<br>";
    $afterSerializeArray = unserialize($_POST['data']);
    print_r($afterSerializeArray);
}
    $beforeSerializeArray = array();
    $beforeSerializeArray[] = 1;
    $beforeSerializeArray[] = 2;
    $beforeSerializeArray[] = 3;
    $serializeArray = serialize($beforeSerializeArray);
?>
<form action="" method="post">
<input type="hidden" name="data" value="<?php echo $serializeArray; ?>"/>
<input type="submit" value="Serialize"/>
</form>

我编写了一个小片段来获取可见行的 ID 并将它们加载到一个数组中,对其进行序列化并将其泵入一个变量以将其发布到图表中。

我应该使用 GET 吗?我应该以不同的方式这样做吗?

我希望在与图表不同的页面上进行过滤和排序的原因是因为用户有很多列和选项来过滤和排序。

4

1 回答 1

4

与其尝试通过 post 发送数组,不如将这些 id 与任何特殊字符(例如“,”)连接起来。这样,您将在 $_POST['data'] 中以逗号分隔值的形式获取所有 ID。现在您可以使用 PHP 的explode 函数来获取数组中的所有值并根据需要使用它们。

此代码示例可能会对您有所帮助

<?php
if(isset($_POST['data']))
{
    echo "FOUND Ids<br>";
    $IdArray = explode(',',$_POST['data']);
    print_r($IdArray );
}
    $idarray = array('1','2','3');
    $ids = implode(',',$idarray);
    ?>
<form action="" method="post">
<input type="hidden" name="data" value="<?php echo $ids;?>"/>
<input type="submit" value="Serialize"/>
</form>
于 2012-10-04T12:00:15.317 回答