2

私は少し困っていますが、答えはおそらく非常に簡単です。

だから私は私の POST 変数を持っています:

 Array ( [accept] => accept,29 [accept1] => accept,30 [submit] => Save Selections )

それは $_POST の print_r です。

基本的に私がやりたいことは、最初の変数を取得し、「受け入れる」部分を削除して、その隣の番号を変数に格納し、その変数 (その番号を含む) を使用していくつかの MySQL クエリを実行してから、次の変数に移動することです。「受け入れる」を削除し、その隣に番号を保存し、その保存された番号を使用してクエリを実行します。「accept」を含むすべての要素を通過するのに必要な回数だけこれを実行し、次に数字を実行します。

どんな助けでも大歓迎です。

私はいくつかのアイデアをいじっていて、このコードを持っています。明らかに機能しませんが、おそらく修正して構築できますか?

    while($i <= $elements)
    {
        while($x == 1)
        {
            $id = explode(',', next($_POST));
            echo $id;
            $x = 0;
        }
        $i++;
    }
4

2 に答える 2

2

これで問題が解決するかどうかはわかりませんが、これが役に立ち、アイデアが得られることを願っています。

$i = 0;
while($i <= count($your_array))
{
    $your_var = substr($your_array[$i], 7, 2); //get the number from your accept,29
    $query = "SELECT * FROM TABLE WHERE COLUMN = ". $your_var; //use it to run queries as you said
    $i+=1;
}

更新- これが機能するかどうかわかりません

foreach($your_post_array as $items)
{
    $your_var = substr($items, 7, 2);
    $query = "SELECT * FROM TABLE WHERE COLUMN = ". $your_var; //use it to run queries as you said
    $i+=1;
}

たぶん、最初に変数をエコーし​​て確認する必要があります
echo $your_var = substr($items, 7, 2);

于 2013-05-24T02:43:36.573 に答える
1

ループを使用してforeachをループし、キーが( ?) で$_POST始まるかどうかを確認し、そうであれば値を分解し、見つかった配列の 2 番目の値を取得して、後で使用するためにどこかに保存します。acceptstripos

ところで、可能であれば、$_POSTループする必要がある変数 (配列) が 1 つだけになるようにフロントエンドを変更します。

于 2013-05-24T02:39:52.507 に答える