2

我有点担心,但答案可能很简单。

所以我有我的 POST 变量:

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

这只是 $_POST 的 print_r。

基本上我想要做的是获取第一个变量,删除“接受”部分并将其旁边的数字存储在一个变量中,使用该变量(包含该数字)运行一些 MySQL 查询,然后移动到下一个;删除“接受”,将数字存储在它旁边并使用该存储的数字运行查询。它想要多次执行此操作,需要遍历所有包含“接受”的元素,然后是一个数字。

任何帮助,将不胜感激。

我正在玩一些想法并拥有此代码。它显然不起作用,但也许我可以修复并建立它?

    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,检查键是否以acceptstripos?)开头,如果是,则分解该值并获取找到的数组的第二个值并将其存储在某处以备后用。

顺便说一句,如果可能的话,我会改变前端,这样你就$_POST必须循环遍历一个变量(一个数组)。

于 2013-05-24T02:39:52.507 回答