laravel+mysql写“问卷调查”(2)写一下试卷表的数据显示和添加,简单的查询和添加

在这里插入图片描述

完成试卷标题首页表 第一节

首先写显示表里数据部分

这是我的表

在这里插入图片描述

创建一个模型
php artisan make:model Type

在这里插入图片描述

创建一个对应的控制器

(一般情况一个功能模块对应一个控制器)

php artisan make:controller TypeController

在这里插入图片描述

创建视图

views目录下创建type目录,于type之下创建index.blade.php文件
在这里插入图片描述


此时基本要用的已经创建好了,路由边用边写

编写控制器中的方法

首先引入查询构造器和对应的模型

use Illuminate\Support\Facades\DB;
use App\Type;

然后开始写方法

public function index()
    {
        $types = DB::table('types')->get();
        return view('type/index',['types'=>$types]);
    }

此时查询到的数据放入到$types然后传入到了type/index的文件中

配置路由

先进行引入

use Illuminate\Support\Facades\Route;
Route::get('/posts','\App\HttP\Controllers\PostController@index');
编写视图文件

我用了bootstrap进行了页面美化。。。

<body>
    <div class="container bigbox">
        <h2>试题表</h2>
        <table class="table">
            <tr>
                <th>序号</th>
                <th>创建时间</th>
                <th>试卷名称</th>
                <th>操作</th>
            </tr>
            @foreach($types as $item)
            <tr>
                <td>{{$item->id}}</td>
                <td>{{$item->createtime}}</td>
                <td>{{$item->typename}}</td>
                <td>
                    <a href="/types/{{$item->id}}/see" class="btn btn-info">查看</a>
                    <a href="/posts1/{{$item->id}}" class="btn btn-info">问卷调查</a>
                    <a href="/types/{{$item->id}}/delete" class="btn btn-danger">删除</a>
                </td>
            </tr>
            @endforeach
        </table>
    </div>
</body>

使用的是foreach进行循环显示出的数据,item后跟在控制器中查询到的字段名

此时页面效果是

在这里插入图片描述


写一下添加数据

首先写一个视图

依旧使用bootstrap进行页面美化
然后主体部分是

<div class="container box">
        <form action="/types" method="post" class="form-horizontal">
            {{csrf_field()}}
            <input type="hidden" name="dtime" id="dtime">
            <div class="form-group">
                <label for="typename" class="col-sm-2 control-label">试卷名</label>
                <div class="col-sm-10">
                    <input type="text" name="typename" id="typename" class="form-control">
                </div>
            </div>
            <div class="form-group">
                <div class="col-sm-offset-2 col-sm-10">
                    <button type="submit" class="btn btn-default">保 存</button>
                    <a href="/types" class="btn btn-default">返回</a>
                </div>
            </div>
        </form>
    </div>

这里要我的思路是要写一个隐藏域(dtime),获得一下今天的时间(年月日,比如今天就是20191224),方便后面进行按日期的查看“试卷”,虽然表里也有,但是感觉不方便,还不如用jq写一个,直接传过去方便
然后就有了

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script>
   var now = new Date();
   var year = String(now.getFullYear());
   var month = String(now.getMonth()+1);
   var date = String(now.getDate());
   var all = year+month+date;
   $('#dtime').val(all);
</script>

把获得的日期放入一个id叫dtime的input中

编写添加试卷的路由和方法

这个地方要用到两个路由,一个用于跳转页面,一个用于保存,so在web文件下写两个路由

Route::get('/posts/add','\App\HttP\Controllers\PostController@add');
Route::post('/posts','\App\HttP\Controllers\PostController@store');

在TypeController文件下同样写两个方法,一个用于添加(add)一个用于保存(store),保存中,request里面写在add.blade表中需要传过来的input的name

public function add(){
        return view('type/add');
    }
    public function store(){
        $model = new Type();
        $model->createtime = request('dtime');
        $model->typename=request('typename');
        $res=$model->save();
        if($res){
            return redirect('/types');
        }else{
            return redirect('/type/add');
        }
    }
写与主页面的联系

在index.blade.php首页文件中写一个用于添加a标签,并写好地址。

<a href="/types/add" class="btn btn-info">添加新试卷</a>
此时页面效果

index
在这里插入图片描述
add
在这里插入图片描述

各种细节

id字段是自增长字段,不用添加。

bootstrap是真滴好用。。。。
上篇文写到了连表查询和用于显示选择题的表,有需要的可以去瞅一下支持一下
上篇地址
奇怪的链接哟
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值