基于thinkphp5的书店管理系统学习笔记分享

发布于:2023-07-04 ⋅ 阅读:(140) ⋅ 点赞:(0)

基于thinkphp5的书店管理系统学习笔记分享

1.访问url入口

http://localhost:8080/tp5_book/public/index.php/模块名/控制器名/方法名

2.视图页面引用公共html

在view下新建一个public文件,保存公共html文档
{include file="public/_head"}<!--引用公共html-->
{include file="public/_left"}<!--引用公共左侧html-->

3.{}的使用

访问:https://www.cnblogs.com/tine/p/8856517.html了解详情
带参数的跳转
{:url('goods/detail',array('id'=>$vo.id))}

4.分页查询

控制器方法
	public function index(){
		$result=db('user')
				->order('time Desc')//排序,asc:升序排列,desc:降序排列
				->paginate(2);//分页
		$this->assign('user',$result);//将信息分配到前端模板
		return view();
	}
视图调用
	{foreach $user as $vo}
	    <tr>
	        <td>{$vo.id}</td>    
	    </tr>
    {/foreach}
    <tr>
    	<td>{$user->render()}</td> //分页
    </tr>

5.判断提交方式

request()->isPost()		是post提交返回true

6.获取form表单提交过来的值

$data=input('post.');		获取通过post提交过滤的所有数据

7.获取url传过来过的参数,及get信息

$id=input('id');			获取通过?id=1,传过来的值

8.视图调用url

<a href="{:url('user/add')}">添加商品信息</a>

9.视图页判断遍历的使用

if的使用
	{if condition="(条件)"} 
	等待提现			
	{elseif condition="($vo.state==1)"/}
	成功
	{else /} 
	失败
	{/if}
foreach的使用
	{foreach $index as $vo}		
	...
	{/foreach}

10.助手函数操作数据库

添加
	db('user')->insert($data);
更新
	db('store_wait')->update($data);
查询
	$result=db('store_wait')->select();	//多条
	$result=db('store_wait')->find();	//单条
条件查询
	$result=db('store_wait')->where('id',$id)->find();
多条件查询
	$result=db('store_wait')->where('id',$id)->where('name',$naem)->find();
	$result=db('store_wait')->where('goods_id='.$id.' and state=4')->find();
模糊查询
	$result=db('store_wait')->where('id','>',$id)->find();
	$result=db('store_wait')->where('id','like',$id.'%')->find();
计算总价
	$result=db('cart')->where('user_id',$user_id)->sum('cash');
	• max() 表示查询某个字段的最大值
	• min()	表示查询某个字段的最小值
	• avg()	表示查询某个字段的平均值
	• sum()	表示求出某个字段的总和
查询数量
	$result=db('comment')
			->where('goods_id',$id)
			->count();
删除
	db("store_wait")->delete($id);

11.验证器

创建文件
	|——admin
		|——validate
			|——User.php
写入验证规则
	<?php
	namespace app\admin\validate;
	use think\Validate;
	
	class User extends Validate{
		protected $rule = [
			'username' => 'require|max:20|unique:user',		
		];
		protected $message = [
			'username.require' => '用户名不能为空',
			'username.max' => '用户名不能超过20位',
			'username.unique' => '用户名已存在',
		];
		//场景验证
		protected $scene = [
			'edit' => ['phone','email','catch','time'],
			'add' => ['username'],
		];
	}
	?>
调用
	$validate=validate('User');
	if(!$validate->scene('add')->check($data)){
		$this->error($validate->getError());
	}

12.跳转

$this->success("添加成功!","user/index");
$this->error("添加失败!");
$this->redirect('catelist','',2,'纯跳转');

13.session使用

赋值
	session('loginUsername', $data["username"], 'index');// 赋值index作用域
获取
	session('loginUsername', '', 'index');// 赋值index作用域		
判断是否存在
	session('?loginUsername', '', 'index');	返回1表示存在
删除
	session(null, 'index');

15.登录验证过滤

创建文件
	|——admin
		|——controller
			|——Common.php
写入
	<?php
	namespace app\admin\controller;
	use think\Controller;
	
	/*定义控制器初始化方法 _initialize ,
	 * 在该控制器的方法调用之前首先执行。*/
	class Common extends Controller{
		public function _initialize(){
			$this->checklogin();
		}
		public function checklogin(){
			if(session('?loginUsername', '', 'admin')!=1){
				$this->error("你没有权限,请先登录","login/index");
			}
		}	
	}
	?>
调用
	控制器直接继承即可
	class Index extends Common{}

一些项目截图演示
后台页面
在前台主页面
商品详细页面
个人中心页面

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到