如何获得多个复选框的值

时间:2017-03-25 22:46:05

标签: php mysql

我从数据库中检索一些数据,将其放入表格视图

if (isset($_POST['user_id'])) {
            foreach ($_POST['user_id'] as $value) {
                $user = User::find($value);
                $id = Some::create([
                            'user_id'                   => $user->id,
                            'user_email'                => $user->email,
                            'user_name'                 => $user->name,
                            'location'                  => $user->location,
                            'user_phone'                => $user->phone,
                            'created_at'                => \Carbon\Carbon::now()->subDays(3),
                            ]);
                          $id->update(['created_at' => \Carbon\Carbon::now()->subDays(3)]);
                          $id->created_at =  \Carbon\Carbon::now()->subDays(3);
                          $id->save();
                    if ($id)
                    {
                        // delete user from PH table
                        $deleteUser = ProvideHelp::where('user_id', $id->user_id)->delete();
                        if ($deleteUser) {
                            return redirect('home')->with('success', 'Your Addition was successful');
                        }

                    }
            }
        }

        return redirect('home')->with('error', 'Inter Error Please try again Later');

循环仅适用于第一个数据,其余部分不起作用。我想使用每个循环的值来查询数据库。只有第一个查询有效 - 第二个或第三个查询不起作用。

2 个答案:

答案 0 :(得分:0)

这就是我的想法。只有一个用户ID发送到php脚本,因此,它只会循环ONCE。

我认为你曾经请求过一次用户ID。您将需要一个循环来读取多个复选框的值。我建议你为每个chexkbox的名称添加一个索引,以便能够通过php循环访问它。

答案 1 :(得分:0)

您可能需要在复选框的名称后面加上“[]”,以便它们在HTML中显示如下:

name='user_id[]'

否则,当您将复选框值传递给PHP时,它只传递第一个值。