3

私は2つのページを持っています:

  • Graph.php
  • List.php

グラフ ページは、まさにその名前の通り、データをグラフ化します。post/get データがない場合は、特定のテーブルにすべてのデータが表示されます。

リスト ページは、約 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 を特殊文字 (「,」など) と連結する必要があります。このようにして、すべての ID を $_POST['data'] のカンマ区切りの値として取得します。これで、PHP の爆発関数を使用して配列内のすべての値を取得し、必要に応じて使用できるようになりました。

このコードサンプルはあなたを助けるかもしれません

<?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 に答える