如何从数据库中的表中打印该特定选项的所有数据?
Posted
技术标签:
【中文标题】如何从数据库中的表中打印该特定选项的所有数据?【英文标题】:What can I do to print all the data of that particular option from the table in the Database? 【发布时间】:2020-02-11 22:00:57 【问题描述】:我有一个下拉列表,从数据库中获取选项。我可以知道如何获取该特定选项的所有详细信息吗? 注意:我一直使用 Laravel
<select class="form-control select-search" name="selectedUser" id="selectedUser" required style="width: 200px;">
@foreach($users as $user)
<option value=" $user->id " class="text-capitalize"> $user->name </option>
@endforeach
</select>
【问题讨论】:
请详细描述您的问题。哪个选项? 选项,即 users 从数据库获取到下拉列表。一旦我选择了一个用户,我希望查看 user 的数据。如 userID 或 userLocation 等 当您获取用户时,您已检索到所有用户数据。正如您所说的那样,选择特定用户显示他们的详细信息,那么您应该使用jQuery。 span> 您可以发送一个ajax请求从后端获取该用户的信息。 @zahidhasanemon 我可以举个小例子吗? 【参考方案1】:您可以发送 ajax 请求以从后端获取信息。这是一个简单的例子。
(假设您已经安装了 jQuery。)
<select class="form-control select-search" id="mySelect" name="selectedUser" id="selectedUser" required style="width: 200px;">
@foreach($users as $user)
<option value=" $user->id " class="text-capitalize"> $user->name </option>
@endforeach
</select>
<input type="text" id="userId" readonly>
现在是 AJAX 部分。
<script type="text/javascript">
$('#mySelect').change(function()
var user = $(this).val();
var url = ' route("fetch.user") ';
if (user != '')
$.ajax(
url: url,
type: 'post',
dataType: 'json',
data: "_token": " csrf_token() ", "user": user,
success: function(response)
$('#userId').val(response.userID);
);
);
</script>
在您的web.php
文件中添加路由
Route::post('fetch/user', 'UserController@getUser')->name('fetch.user');
现在在 UserController 中添加 getUser
方法
public function getUser(Request $request)
$user = User::findOrFail($request->user);
return response()->json($user);
我使用了发布请求。您也可以使用 get request 进行此类操作。
【讨论】:
我试过了,我只需要在这里和那里更改一些值。非常感谢你让我明白。 一旦我达到 15 次。我一定会做到的。到目前为止它限制了我。 :)【参考方案2】:请按照以下步骤进行ajax请求。
路线
Route::any( '/user-data/id', 'UserController@getUser' );
在控制器文件中:
public function getUser( $id )
$user = User::findOrFail($id);
return json_encode($user);
视图刀片
<select class="form-control select-search" name="selectedUser" id="selectedUser" required style="width: 200px;">
@foreach($users as $user)
<option value=" $user->id " class="text-capitalize"> $user->name </option>
@endforeach
</select>
<div class="user-details">
<div class="user-id"></div>
<div class="user-location"></div>
</div>
$( '#selectedUser' ).change( function()
var userid = $(this).val();
$.ajax(
headers:
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
,
type:'GET',
dataType: 'JSON',
url: '/user-data/'+userid,
success: function(data)
console.log(data);
$('.user-id').html(data.id);
$('.user-location').html(data.id);
);
);
【讨论】:
我想我理解了逻辑并且它返回了 ID。但是,控制台显示错误说明 POST localhost/user-data/14 404 (Not Found) 14 这里是所选用户的 id。 user-data 是否应该是我的数据库的 URL? @RevanthKumar 我已经更新了我的答案,请检查。 @RevanthKumar 您可以在浏览器新标签中使用http://localhost/user-data/14
直接检查用户数据以查找或失败。
非常感谢。现在是正确的:)以上是关于如何从数据库中的表中打印该特定选项的所有数据?的主要内容,如果未能解决你的问题,请参考以下文章