如何从数据库中的表中打印该特定选项的所有数据?

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 的数据。如 userIDuserLocation 当您获取用户时,您已检索到所有用户数据。正如您所说的那样,选择特定用户显示他们的详细信息,那么您应该使用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 直接检查用户数据以查找或失败。 非常感谢。现在是正确的:)

以上是关于如何从数据库中的表中打印该特定选项的所有数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何从特定数据库中的所有表中检索不属于主键和外键的所有列

怎么在数据库所有的表中查找数据

如何从程序 oracle 中的表中随机打印?

如何从 python 中的字段中提取特定数据以打印它?

如何将查询结果保存到单独的表中?

我如何使用条件从其他表中更新表中的数据