如何从数据库中获取数据到laravel中的查看页面?

时间:2017-03-29 09:50:23

标签: php mysql laravel fetch laravel-5.4

我正在使用Laravel 5.4,我想从我的视图页面(listpetani.blade.php)查看数据库中的数据。

以下是我项目的代码:

HTML:

<div class="table-responsive">
  <table class="table table-striped table-hover table-condensed">
    <thead>
      <tr>
        <th><strong>No</strong></th>
        <th><strong>Nama Petani</strong></th>
        <th><strong>Alamat</strong></th>
        <th><strong>No. Handphone</strong></th>
        <th><strong>Lokasi</strong></th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
        <th></th>
      </tr>
    </tbody>
  </table>
</div>

PHP: 在我的listpetani.blade.php我有一张空表,我想显示来自database tbl_user的数据:

Route::get('listpetani', function () {

  $petani = DB::table('tbl_user')->pluck('id_user', 'username', 'alamat', 'no_telp', 'id_lokasi');

  return view('listpetani', ['petani' => $petani]);

});

我页面中的表格:view in browser

我想在laravel 5.4中将数据库中的所有数据显示到我的视图中。有人能帮助我吗?

8 个答案:

答案 0 :(得分:7)

[SOLVE]

谢谢你们,我已经解决了这个问题

这是已解决的代码

web.php(路线)

PRERELEASE

并在我的Route::get('listpetani', function () { $petani = DB::table('tbl_user')->get(); return view('listpetani', ['petani' => $petani]); });

listpetani.blade.php

答案 1 :(得分:2)

@foreach($petani as $p)
 <tr>
     <td>{{ $p['id_user'] }}</td>
     <td>{{ $p['username'] }}</td>
     <td>{{ $p['alamat'] }}</td>
     <td>{{ $p['no_telp'] }}</td>
     <td>{{ $p['id_lokasi'] }}</td>
 </tr>
@endforeach

答案 2 :(得分:1)

您也可以在视图中从数据库获取数据

@php( $contacts = \App\Contact::all() )  
@php( $owners = \App\User::all())  

<select class="form-control" name="owner_name" id="owner_name">                           
    @foreach($contacts as $contact)
      <option value="{{ $contact->contact_owner_id }}">{{ $contact->contact_owner }}</option>
    @endforeach                            
</select>  

答案 3 :(得分:1)

在您的控制器中:

 $select = DB::select('select * from student');
 return view ('index')->with('name',$select);

您认为:

@foreach($name as $data){
<tr>
    <th>{{ $data -> id}}</th> <br>
    <th>{{ $data -> name}}</th> <br>
    <th>{{ $data -> age}}</th> <br>
    <th>{{ $data -> address}}</th>
</tr>
}
@endforeach

希望这对您有所帮助。

答案 4 :(得分:1)

或者你可以在 Laravel Blade 中使用 @forelse 循环

@forelse($name as $data)
<tr>
    <th>{{ $data->id}}</th>
    <th>{{ $data->name}}</th>
    <th>{{ $data->age}}</th>
    <th>{{ $data->address}}</th>
</tr>
@empty
    <tr><td colspan="4">No record found</td></tr>
@endforelse

答案 5 :(得分:0)

试试这个:

$petani = DB::table('tbl_user')->pluck('id_user', 'username', 'alamat', 'no_telp', 'id_lokasi');
return view('listpetani', ['petani' => $petani]);
您的视图上的

使用$petani迭代foreach(),如:

foreach($petani as $data)
{
    echo $data->id_user;  // $petani is a Std Class Object here
    echo $data->username;
}

答案 6 :(得分:0)

**在侧控制器中你传递**:

$petanidetail = DB::table('tb1_user')->get()->toArray();
return view('listpetani', compact('petanidetail'));

和内部视图您使用petanidetail变量如下

foreach($petanidetail as $data)
{
echo $data;
}

答案 7 :(得分:0)

其他答案是正确的,我只想再添加一件事,如果您的数据库字段具有html标记,则系统将为段落标记打印html标记,例如“

”。要解决此问题,您可以使用以下解决方案:

您可能需要对数据应用html_entity_decode。

这对Laravel 4很好用

{{html_entity_decode($ post-> body)}}

对于Laravel 5,您可能需要使用它

{!! html_entity_decode($ post-> body)!!}