1. 选择合适的PHP框架及前端框架布局页面(10分)
  2. 首先展示出分类列表,每个分类下只显示3条信息,无需分页 (30分)
  3. 在列表页 点击文章标题进入详细页面,对应的文章点击量+1(30分)
  4. 在详细页面点击上一篇 下一篇显示对应的文章详情(30分)

博客参考:

https://blog.csdn.net/g5g5t9/article/details/73690186

路由:

Route::group(['namespace'=>'day13'],function (){
// 首页展示
Route::get('day13/index','ExamController@index')->name('day13.index');
// 详情展示
Route::get('day13/edit','ExamController@edit')->name('day13.edit');
// 上一页
Route::get('day13/up','ExamController@up')->name('day13.up');
// 下一页
Route::get('day13/down','ExamController@down')->name('day13.down'); });

控制器:

<?php

namespace App\Http\Controllers\day13;

use App\Http\Controllers\Controller;
use App\Models\Day13;
use App\Models\Task\Type;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; class ExamController extends Controller
{
//列表
public function index(Request $request)
{
$id = $request->get('id');
// 获取分类
$cate = Type::get();
// 每页显示3条
$data = Day13::where('type_id', '=', $id)->limit(3)->get();
return view('day13.index', compact('data', 'cate'));
}
// 详细页面
public function edit(Request $request)
{
$id = $request->get('id');
// 开启事务
DB::beginTransaction();
try {
// 点击加一
DB::table('day13s')->where('id', '=', $id)->increment('clik',1);
// 获取信息
$data=DB::table('day13s')->where('id', '=', $id)->first();
DB::commit();
} catch (\Exception $e) {
DB::rollBack();
}
return view('day13.edit', compact('data'));
}
// 上一篇
public function up(Request $request){
$id=$request->get('id');
$data=Day13::where('id','<',$id)->orderBy('id','desc')->limit(1)->first();
return view('day13.up', compact('data'));
}
// 下一篇
public function down(Request $request){
$id=$request->get('id');
$data=Day13::where('id','>',$id)->orderBy('id','desc')->limit(1)->first();
return view('day13.down', compact('data'));
} }

列表视图:

{{--{{-分类数据渲染---}}
<ul>
@foreach($cate as $k=>$v)
<li onclick="cate({{$v->id}})" id="type">{{$v->type}}</li>
@endforeach
</ul>
 <table class="table table-border table-bordered table-hover table-bg table-sort">
<thead>
<tr class="text-c">
<th width="25"><input type="checkbox" name="" value=""></th>
<th width="80">ID</th>
<th width="100">标题</th>
<th width="100">内容</th>
</tr>
</thead>
<tbody>
@foreach($data as $item)
<tr class="text-c">
<td><input type="checkbox" value="{{$item->id}}" name="id[]"></td>
<td>{{$item->id}}</td>
{{-- 点击标题--}}
<td onclick="edit({{$item->id}})">{{$item->title}}</td>
<td>{{$item->content}}</td>
</tr>
@endforeach
</tbody>
</table>
{{--点击分类触发事件--}}
function cate(id) {
window.location.href="http://www.yan.com/day13/index?id="+id;
}
//点击标题进入详情页面
function edit(id) {
window.location.href="http://www.yan.com/day13/edit?id="+id;
}

详情视图:

 <div class="mt-20">
<table class="table table-border table-bordered table-hover table-bg table-sort">
<thead>
<tr class="text-c">
<th width="80">ID</th>
<th width="100">标题</th>
<th width="100">内容</th>
</tr>
</thead>
<tbody>
<tr class="text-c">
<td>{{$data->id}}</td>
<td >{{$data->title}}</td>
<td>{{$data->content}}</td>
</tr> </tbody>
</table>
<span onclick="up({{$data->id}})">上一篇</span>
<span onclick="down({{$data->id}})">下一篇</span>
</div>
function up(id) {
window.location.href="http://www.yan.com/day13/up?id="+id; }
function down(id) {
window.location.href="http://www.yan.com/day13/down?id="+id; }

laravel 实现详情分页的更多相关文章

  1. Laravel 5.2分页--怎么在一个页面实现两个以上的列表分页,互不影响?

    今天就碰到这样的一个问题?想在一个页面里面放两个列表,并且两个列表都可以进行分页. 但是,laravel提供的分页方法很方便,可是两个以上就出问题了,当我点其中一个分页的链接时候,页面上其余的分页跟着 ...

  2. 关于laravel 得手动分页问题

    一般得分页,我们只需要使用paginate方法,就可以简单得搞定.但是遇到数组得组合情况呢?这个时候,就需要我们使用自定义分页了.首先我们看下laravel得分页方法源码: #vendor/larav ...

  3. [ Laravel 5.6 文档 ]laravel数据库操作分页(自定义分页实现和自定义分页样式)

    简介 在其他框架中,分页可能是件非常痛苦的事,Laravel 让这件事变得简单.易于上手.Laravel 的分页器与查询构建器和 Eloquent ORM 集成在一起,并开箱提供方便的.易于使用的.基 ...

  4. laravel手动数组分页

    laravel文档中已经有写如何自己使用分页类去分页了,但没有详细说明. 如果你想手动创建分页实例并且最终得到一个数组类型的结果,可以根据需求来创建 IlluminatePaginationPagin ...

  5. [Laravel] 自带分页实现以及links方法不存在错误

    自带分页实现其实挺简单的,但是我在实现的时候报错!找了很久才找出原因! 废话不说上码 控制器LeeController.php层 <?php namespace App\Http\control ...

  6. laravel带参数分页

    <!---分页--> <div id="pagination-box"> {{ $list->appends(['mobile'=>$mobil ...

  7. laravel paginate动态分页

    1.router Route::get('product', function(){ $products = App\Product::paginate(10); return view('produ ...

  8. Laravel 5.4---后端数据分页和前端显示分页结果

    后端数据(Eloquent 模型)分页 事先建立好Eloquent 模型和Controller 还有 前台的View.可以参考我之前的文章:Laravel建站03--建立前台文章列表和文章详情 在co ...

  9. Laravel分页

    Laravel使用的过程中,有些功能把前端页面的表达"写死了",比如分页的翻页按钮! 当然你会说Laravel的Bootstrap样式也很好看啊,但是实际项目中,翻页按钮常常需要满 ...

随机推荐

  1. idea的jar文件,“java.lang.SecurityException: Invalid signature file digest for Manifest main attribute

    感谢大佬:https://blog.csdn.net/mingyuli/article/details/84674483 命令行运行jar出现问题: 1.找不到主类.打开jar文件包,在MANIFES ...

  2. VC 窗口置顶并激活为当前窗体

    转载请注明来源:https://www.cnblogs.com/hookjc/ if (this != GetForegroundWindow())                           ...

  3. 【转】Mysql相关子查询&&MySQL获取分组后的TOP N记录

    https://www.cnblogs.com/Yiran583/p/6743870.html select * from test1 a where 2 > (select count(*) ...

  4. mysql入门基础增删查改

    数据查询语法(DQL) DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端. 语法: SELECT selection_list /*要查询的列名称*/ F ...

  5. nginx实现后端tomcat的负载均衡调度

    一.编译安装nginx 请跳转查阅:编译安装nginx 二.tomcat的二进制安装 请跳转查阅:二进制安装tomcat 三.配置nginx代理 # cat /apps/nginx/conf/ngin ...

  6. python基础语法_python中的布尔类型详解

    转自:http://www.cnblogs.com/521yywzyzhc/p/6264885.html   我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是 ...

  7. SQLServer、Mysql、Oracle 创建、删除用户和授予用户权限

    SQLServer 1.创建用户 CREATE LOGIN [用户名称] WITH PASSWORD='用户密码', DEFAULT_DATABASE=[默认数据库名称], CHECK_EXPIRAT ...

  8. Solution -「SP 6779」GSS7

    \(\mathcal{Description}\)   给定一棵 \(n\) 个点的带点权树,\(q\) 次操作: 路径点权赋值. 询问路径最大子段和(可以为空).   \(n,q\le10^5\). ...

  9. java Excel 简单工具

    我就简单的分享一下我常用的工具 这次由于个人问题工具注释全部乱码差点无法还原,也是为了防止数据丢失后期找不到再次保留方法把. 调用工具个别方法 <dependency> <group ...

  10. demo_2_27

    #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h> int count_bit_one ...