参看网址:http://www.yan.com/mou/add

图书增加HTML页面

//图书增加路由
Route::get('mou/add','MouController@store');
//控制器代码,这一步渲染添加的视图
public function add()
{
return view('mou.mouadd');
}

//添加视图HTML代码

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>添加页面</title>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css"> </head>
<body>
<form action="/mou/insert" method="post" enctype="multipart/form-data" style="width: 300px;">
@csrf
<div class="form-group">
<label for="name">标题</label>
<input type="text" class="form-control" name="title" >
</div>
<div class="form-group">
<label for="name">作者</label>
<input type="text" class="form-control" name="author" >
</div>
<div class="form-group">
<label for="name">书图</label>
<input type="file" class="form-control" name="img" >
</div>
<div class="form-group">
<label for="name">分类</label>
<input type="text" class="form-control" name="type" >
</div>
<input type="submit" value="立即添加"> </form>
</body>
</html>

//处理添加入库,数据库展示,删除,修改以及静态化详情控制器代码

 
<?php

namespace App\Http\Controllers;

use App\models\mouModel;
use Illuminate\Http\Request;
use QL\QueryList; class MouController extends Controller
{
//
public function store()
{
//采集的地址
$url = 'https://www.hongxiu.com/search?kw=%E5%8E%86%E5%8F%B2';
$content = file_get_contents($url); $range = '.book-mid-info';
$rules = [
'title' => ['h4', 'text'],
'author' => ['p[class=author]', 'text'],
'img' => ['img', 'src'],
'type' => ['a[target=_blank]', 'text']
];
$data = QueryList::html($content)
->range($range)
->rules($rules)
->queryData(); foreach ($data as $k => $v) {
$path = 'http:' . $v['img'];
$file = file_get_contents($path);
$filename = './book/' . md5($k) . '.jpg';
file_put_contents($filename, $file);
} $res = mouModel::store($data);
if ($res) {
echo "<font color='red'>采集成功</font>";
header('refresh:2,url=/mou/list');
} else {
echo "<font color='red'>采集失败</font>";
header('refresh:2,url=/mou/list');
}
}
//图书添加页面
public function add()
{
return view('mou.mouadd');
}

//图书入库
public function insert(Request $request)
{
// 接受参数
$params = $request->except('_token');
//处理图片
$path = '/' . $request->file('img')->store('img');
$params['img'] = $path;
// 进行添加入库
$res = mouModel::store($params);
if ($res) {
echo "<font color='red'>添加成功</font>";
header('refresh:2,url=/mou/list');
} else {
echo "<font color='red'>添加失败</font>";
header('refresh:2,url=/mou/add');
}
}
//展示
public function list(Request $request)
{
$word=$request->input('word');
$data = mouModel::list($word); return view('mou.moulist', compact('data','word'));
}
//删除
public function del($id)
{
// 这里可进行验证id不可以为空,是不是纯数字
$res = mouModel::del($id);
if ($res) {
echo "<font color='red'>删除成功</font>";
header('refresh:2,url=/mou/list');
} else {
echo "<font color='red'>删除失败</font>";
header('refresh:2,url=/mou/list');
}
}
//详情展示
public function updataone($id)
{
// 这里可进行验证id不可以为空,是不是纯数字
$data = mouModel::updataone($id);
return view('mou.mouupdataone', compact('data'));
}
//修改
public function updata(Request $request)
{
$params = $request->all();
$res = mouModel::updata($params);
if ($res) {
echo "<font color='red'>修改成功</font>";
header('refresh:2,url=/mou/list');
} else {
echo "<font color='red'>修改失败</font>";
header('refresh:2,url=/mou/list');
}
}
//静态化详情
public function listone($id)
{
$filrname = "./book/" . md5($id) . ".html";
if (file_exists($filrname)) {
echo file_get_contents($filrname);
} else {
$data = mouModel::listone($id);
$html = view('mou.moulistone', compact('data'));
file_put_contents($filrname, $html);
return $html;
}
} }

//处理添加入库,数据库展示,删除,修改以及静态化详情模型代码

<?php

namespace App\models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes; class mouModel extends Model
{
//软删除
use SoftDeletes;
//定义数据表
protected $table = 'mou';
// 定义主键id
public $primaryKey = 'id';
// 设置时间戳为关
public $timestamps = false;
//添加入库的模型代码
public static function store($param)
{
return self::insert($param);
}
//展示
public static function list($word)
{
return self::where('title','like',"%$word%")->paginate(5); }
//删除
public static function del($id)
{
return self::find($id)->delete();
}
//修改展示页面
public static function updataone($id)
{
return self::find($id);
}
//修改
public static function updata($params)
{
$obj = self::find($params['updata_id']);
$obj->title = $params['title'];
$obj->author = $params['author'];
$obj->img = $params['new_img'];
$obj->type = $params['type'];
return $obj->save();
}
//详情展示
public static function listone($id){
return self::find($id);
}
}

//修改HTML代码:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>修改页面</title>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css"> </head>
<body>
<form action="/mou/updata" method="post" style="width: 300px;">
@csrf
<div class="form-group">
<label for="name">标题</label>
<input type="text" class="form-control" name="title" value="{{$data['title']}}" >
</div>
<div class="form-group">
<label for="name">作者</label>
<input type="text" class="form-control" name="author" value="{{$data['author']}}" >
</div>
<div class="form-group">
<label for="name">书图</label>
<img src="{{$data['img']}}" alt="无法显示">
<input type="file" value="new_img" name="new_img" >
</div>
<div class="form-group">
<label for="name">分类</label>
<input type="text" class="form-control" name="type" value="{{$data['type']}}">
</div>
{{-- 隐藏的id,传至控制器--}}
<input type="hidden" value="{{$data['id']}}" name="updata_id">
<input type="submit" value="立即修改">
</form> </body>
</html>

laravel 框架简易增删改查的更多相关文章

  1. tp框架的增删改查

    首先,我们来看一下tp框架里面的查询方法: 查询有很多种,代码如下: <?php namespace Admin\Controller; use Think\Controller; class ...

  2. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  3. Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  4. Entity - 使用EF框架进行增删改查 - 模型先行

    模型先行:先创建数据库实体模型,然后再进行数据库的增删改查. 基本步骤是不变的,可参照 <Entity - 使用EF框架进行增删改查 - 数据库先行> 其中的不同是,在创建数据库实体模型的 ...

  5. ssm 框架实现增删改查CRUD操作(Spring + SpringMVC + Mybatis 实现增删改查)

    ssm 框架实现增删改查 SpringBoot 项目整合 一.项目准备 1.1 ssm 框架环境搭建 1.2 项目结构图如下 1.3 数据表结构图如下 1.4 运行结果 二.项目实现 1. Emplo ...

  6. FoxOne---一个快速高效的BS框架--生成增删改查

    FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...

  7. laravel orm进行增删改查

    https://laravelacademy.org/post/9699.html 建议用DB门面直接操作数据库,因为ORM性能低.数据查询上面,ORM不会比DB差的,就比如with,是用了sql最基 ...

  8. 【项目笔记】完成一个基于SSM框架的增删改查的模块后总结的问题

    最近为了准备新工作重新摸出了SSM框架,同时从0学习了JQuery,终于用一周做完了一个包括增删改查的模块(主要是属性太多了,其中一个类50+,复制粘贴耗时). 从中特意记下了几个遇到的问题,总结一下 ...

  9. MybatisMapper 映射框架(增删改查 原始模式)

    //增删改查 package TestDemo; import java.io.IOException; import java.io.InputStream; import java.util.Da ...

随机推荐

  1. 简单的MAC的终端命令

    今天小研究了一下MAC的终端命令,主要为了方便调试程序用,XCODE用不来啊... 在这里记下..防止丢失 pwd 当前工作目录 cd(不加参数) 进root cd(folder) 进入文件夹 cd ...

  2. Java--面向对象设计

    [转载自本科老师上课课件] 问题一: 在一个软件的功能模块中,需要一种图像处理的功能.该图像处理的策略(如何处理)与图像的内容是相关的.如:卫星的运行图片,使用策略A处理方式,如果是卫星内云图片,则需 ...

  3. Zabbix企业级开源监控解决方案

    Zabbix企业级开源监控解决方案 目录 Zabbix企业级开源监控解决方案 一.Zabbix 1. 监控系统的必要性 2. 监控软件的作用 3. Zabbix的定义 4. Zabbix的监控原理 5 ...

  4. Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.html

    1.基于key验证免密授权 1.1 生成kekgen # ssh-keygen Generating public/private rsa key pair. Enter file in which ...

  5. Linux vi 命令 – 文本编辑器

    vi命令是linux系统字符界面下的最常用的文本编辑器. vi编辑器是所有linux的标准编辑器,用于编辑任何ASCⅡ文本,对于编辑源程序尤其有用.iv编辑器功能非常强大,可以对文本进行创建,查找,替 ...

  6. 35、python并发编程之多线程(理论篇)

    一 什么是线程 二 线程的创建开销小 三 线程与进程的区别 四 为何要用多线程 五 多线程的应用举例 六 经典的线程模型(了解) 七 POSIX线程(了解) 八 在用户空间实现的线程(了解) 九 在内 ...

  7. shell脚本批量配置多台主机静态ip

    关于脚本 服务器使用之前,都需要先配置静态IP,那就将这种简单重复的工作,交给脚本来处理吧,让我们运维有更多的时间喝茶看报刷微博 脚本使用 sh ssh.sh ip.txt ssh.sh 为脚本的名称 ...

  8. Zookeeper应用之一:数据发布与订阅初体验

    Zookeeper到底是什么?可以从Zookeeper提供的功能来理解.本篇小作文就是使用其提供的功能之一:数据发布与订阅. 需求:服务端开启多个实例提供服务,客户端使用服务.如果服务端某个服务下线或 ...

  9. ios开发 Rsa签名 base64转码

    因为公司要求做了一个加密  网上的资料少有可用的  于是我看到了一位大神的曙光 但是未介绍使用方法 然后另一位大神给予了使用方法 但是没有把库给出来   我整理了一下  希望大家看的有些启发 证书生成 ...

  10. 提名者周训,misc消失的文件

    下载附件是一个没有后缀的文件,一般这种东西,根据我这个菜狗的经验,直接就是丢进kali的binwalk一顿操作,最后果不其然,是发现了东西的 这里面可以看到一个小细节,就是在binwalk进行分离的时 ...