gpt4 book ai didi

javascript - 如何在 php laravel 的第二页保留过滤器选项?

转载 作者:行者123 更新时间:2023-11-30 19:01:22 25 4
gpt4 key购买 nike

我想在我的页面上过滤我的用户表。我可以这样做,但仅限于第一页。当我点击第二页时,一切都恢复为默认状态,同时它应该记住表单输入。这是我的代码:

我的 PHP 页面:

    <h1>users</h1>

{{--message voor als een user wordt aangepast. Forget en save zorgen ervoor dat de message niet heel de tijd opnieuw wordt getoond--}}
@if(Session::has('flash_message'))
<div id="editmessage" class="alert alert-success">
{{ Session::get('flash_message') }}
{{ Session::forget('flash_message') }}
{{ Session::save() }}
</div>
@endif

<form method="get" action="/admin/users" id="searchForm">
<div class="row">
<div class="col-sm-4 mb-2 lg-4">
<input type="text" class="form-control" name="name" id="name"
value="{{ request()->name }}" placeholder="Filter user by name or email">
</div>
<div class="col-sm-4 mb-2 lg-4">

<select class="form-control" name="userfilter" id="userfilter">
<option class="genrekeuze" value="id">Sort By ID (default)</option>
<option class="genrekeuze" {{ request()->name }} value="name">Name</option>
<option class="genrekeuze" {{ request()->email }} value="email">email</option>
<option class="genrekeuze" value="active">active</option>
<option class="genrekeuze" value="admin">admin</option>
</select>

</div>
<div class="col-sm-4 mb-2 lg-4">

<select class="form-control" name="direction" id="direction">
<option id="richtingboven" class="genrekeuze" value="asc">ascending</option>

<option id="richtingonder" class="genrekeuze" value="desc">descending</option>

</select>

</div>
<div class="col-sm-2 mb-2">
<button style="display: inline;" type="submit" class="btn btn-success btn-block">Search</button>
</div>
</div>
</form>
<hr>

{{--Wordt alleen getoond als er geen users zijn (zie script_after)--}}
<div style="display: none;" id="errormessage" class="alert alert-danger alert-dismissible fade show">
Can't find any users
<button type="button" class="close" data-dismiss="alert">
<span>&times;</span>
</button>
</div>




{{ $users->links() }}

<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>user</th>
<th>E-mail</th>
<th>active / admin</th>
<th>Actions</th>
</tr>
</thead>
<tbody id="usertable">

@foreach ($users as $user)

<tr>
<td data-id="{{$user->id}}">{{$user->id}}</td>
<td data-name="{{$user->name}}">{{$user->name}}</td>
<td data-mail="{{$user->email}}">{{$user->email}}</td>

@if ($user->active==0 && $user->admin==0)
<td>NO / NO</td>
@endif
@if ($user->active==1 && $user->admin==1)
<td>YES / YES</td>
@endif
@if ($user->active==0 && $user->admin==1)
<td>NO / YES</td>
@endif
@if ($user->active==1 && $user->admin==0)
<td>YES / NO</td>
@endif

{{--edit en delete buttons verwijderen voor admin--}}
@if($user->id!=1)
<td>
<div class="btn-group btn-group-sm">

<a href="/admin/users/{{$user->id}}/edit" class="btn btn-outline-success btn-edit"
data-toggle="tooltip" data-name="{{$user->name}}" title="Edit {{$user->name}}"><i class="fas fa-edit"></i></a>


<a href="#!" class="btn btn-outline-danger btn-delete"
data-toggle="tooltip" data-id="{{$user->id}}" data-name="{{$user->name}}" title="Delete {{$user->name}}">
<i class="fas fa-trash"></i>
</a>
</div>
</td>
@endif

</tr>

@endforeach


</tbody>
</table>
</div>
@endsection

我的 Controller :

public function index(Request $request)
{

//vraag input van zoekbalk en option list
$zoeknaam = '%' . $request->input('name') . '%';
$vallist=$request->input('userfilter','id');
$direction=$request->input('direction','asc');

//users uit database halen, paginate en where functie voor filteren
$users = User::where('name', 'like', $zoeknaam)
->orWhere('email', 'like', $zoeknaam)
->orderBy($vallist,$direction)
->paginate(15);


$result = compact('users');

Json::dump($result);

//naar view met data
return view('admin.users.users', $result);
}

不知道是我的页面有问题,还是我的 Controller 有问题。感谢阅读。

最佳答案

您可以将参数附加到 $users->links()因此,您将使用类似 {{ $users->appends(request()->except('page'))->links() }}

引用:https://github.com/laravel/framework/issues/19441

关于javascript - 如何在 php laravel 的第二页保留过滤器选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59480975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com