Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel从视图中的表单填充DB表,并将其显示回同一视图_Php_Database_Laravel 5_View_Controller - Fatal编程技术网

Php Laravel从视图中的表单填充DB表,并将其显示回同一视图

Php Laravel从视图中的表单填充DB表,并将其显示回同一视图,php,database,laravel-5,view,controller,Php,Database,Laravel 5,View,Controller,我是Laravel框架的新手,我正在尝试构建一个管理数据库的工具。我已经创建了我的表,并设法从视图中填充它,但我没有得到的是将表显示回视图。我构建了两个函数,一个只显示表单”项目_create@showpform“和另一个应使用插入的数据更新同一视图的项目”_create@showtable“。我得到了一个错误:“未定义变量:项目数据(视图:/var/www/tcc/src/resources/views/form\u project.blade.php)” 在这里您可以看到我的路线: Rout

我是Laravel框架的新手,我正在尝试构建一个管理数据库的工具。我已经创建了我的表,并设法从视图中填充它,但我没有得到的是将表显示回视图。我构建了两个函数,一个只显示表单
”项目_create@showpform“
和另一个应使用插入的数据更新同一视图的项目”_create@showtable“。我得到了一个错误:
“未定义变量:项目数据(视图:/var/www/tcc/src/resources/views/form\u project.blade.php)”

在这里您可以看到我的路线:

Route::get('/', 'DataController@overview');

Route::get('/myproject', 'Project_create@showpform');
Route::post('/myproject', 'Project_create@showtable');

Route::get('/upload','DataController@showform');
Route::post('/upload', 'DataController@read_xsl');

Route::get('/scrape', 'DataController@scrape');
这是我的
项目\u创建
控制器:

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;

class project_create extends Controller
{
    public function showpform()
    {
        return view('form_project');
    }

    public function showtable(Request $request)
    {
        $name = $request->input('name');
        $description = $request->input('description');

        \DB::table('projects')->insert(
            [
                'project_id' => 1,
                'name' => $rawUrl,
                'description' => $hashedUrl,
                'created_at' =>  \Carbon\Carbon::now(),
            ]);

        $project_data = \DB::table('projects')->select('*')->get();
        return View::make('form_project', compact('project_data'));
    }
}

您的视图有一行

@foreach($project\u data作为$data)

但是当你打电话的时候

公共函数showpform()

你没有通过考试

$项目数据

喜欢

公共功能显示表(请求$Request)

返回视图::make('form_project',compact('project_data')

在刀片文件中添加
isset
功能。e、 g

@if(isset($project_data))
@foreach($project\U data作为$data)
{{$data->id}
{{$data->name}
{{$data->description}
{{$data->created_at}
@endforeach

@endif

谢谢你的
@if
声明,它解决了我的问题。在
公共函数showpform()
中,我没有简单地添加
$project data
,而是
返回视图('form_project',['project_data'=>\DB::table('projects')->select('*')->get(),])以这种方式工作!
<html lang="en">
    <head>
        <title>File Upload</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
        <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
    </head>
<body>

    <div class="container">
        <h3 class="jumbotron">Create here your project</h3>

        <form class="w3-container w3-light-grey" action={{action('DataController@showform')}} enctype="multipart/form-data">
        {{csrf_field()}}
            <p>
            <label>Project Name</label>
            <input class="w3-input w3-border w3-round" name="name" type="text"></p>
            <p>
            <label>Project Description</label>
            <input class="w3-input w3-border w3-round" name="description" type="text"></p>

        <button type="submit" class="btn btn-primary" style="margin-top:10px">Create Project</button>
        </form>

    </div>

    <table>
        <thead>
            <tr>
                <th> id</th>
                <th> name</th>
                <th> description</th>
                <th> created_at </th>
            </tr>
        </thead>
        <tbody>
             @foreach($project_data as $data)
              <tr>
                  <td> {{$data->id}} </td>
                  <td> {{$data->name}} </td>
                  <td> {{$data->description}} </td>
                  <td> {{$data->created_at}} </td>
              </tr>
             @endforeach
       </tbody>
   </table>


</body>
</html>