分页以及模糊查询
//显示商品列表
public function list1(){
//查询商品分类
$cat = M('category')->
select();
//注册一个变量
$this->assign("cat_list",
$cat);
//查询商品品牌
$brand = M('brand')->
select();
//注册一个变量
$this->assign("brand_list",
$brand);
//表头
$arr =
array('编号','商品名称','货号','价格','图片','缩略图','新品','精品','热销','库存','操作'
);
//注册一个表头数据
$this->assign("bt",
$arr);
//查询数据库
$m = M('goods')->
select();
//模糊查询
//获取分类数据
$cat_id =
$_GET['cat_id'
];
//获取品牌数据
$brand_id =
$_GET['brand_id'
];
//获取推荐数据
$intro_type =
$_GET['intro_type'
];
//获取上架数据
$is_on_sale =
$_GET['is_on_sale'
];
//获取关键字数据
$keyword =
$_GET['keyword'
];
//判断分类数据是否存在
if(!
empty(
$cat_id)){
//如果存在,把条件追加到数组里
$where['goods_category_id'] =
$cat_id;
}
//判断品牌数据是否存在
if(!
empty(
$brand_id)){
$where['goods_brand_id'] =
$brand_id;
}
//判断推荐数据是否存在
if(!
empty(
$intro_type)){
//如果存在,把条件追加到数组里(等于1是因为表里面三个字段是通过1和0来区分是否被选中,html页面他们三个value是字段名)
$where["
$intro_type"] = '1'
;
}
if(!
empty(
$keyword)){
// $list = $m->where("goods_name like '%$keyword%'")->select();
$where['goods_name'] =
array('like','%'.
$keyword.'%'
);
}
// 分页
//查询数据库
$model = M('goods'
);
//总记录数 where($where) 这是把上面模糊查询的结果放到这里面
$recordcount=
$model->where(
$where)->
count();
$page=
new \Think\Page(
$recordcount,3);
//new一个方法
$page->lastSuffix=
false;
//最后一页是否显示总页数
$page->rollPage=3;
//分页栏每页显示的页数
$page->setConfig('prev', '【上一页】'
);
$page->setConfig('next', '【下一页】'
);
$page->setConfig('first', '【首页】'
);
$page->setConfig('last', '【末页】'
);
$page->setConfig('theme', '共 %TOTAL_ROW% 条记录,当前是 %NOW_PAGE%/%TOTAL_PAGE% %FIRST% %UP_PAGE% %DOWN_PAGE% %END%'
);
$startno=
$page->firstRow;
//起始行数
$pagesize=
$page->listRows;
//页面大小
$list=
$model->where(
$where)->limit("
$startno,
$pagesize")->
select();
$pagestr=
$page->show();
//组装分页字符串
$this->assign('list',
$list);
//注册查询变量
$this->assign('pagestr',
$pagestr);
//注册分页变量
$this->display();
//调用这个模板
}
View Code
验证码
html页面调用验证码:
<tr>
<td>验证码:
</td>
<td>
<input type="text" name="captcha" class="capital" />
</td>
</tr>
<tr>
<td colspan="2" align="right">
<img src="__CONTROLLER__/VerifyImg" width="145px" height="30px" alt="" onClick="this.src='__CONTROLLER__/VerifyImg/'+Math.random()" />
</td>
</tr>
View Code
PHP页面调用方法
//创建验证码方法
public function VerifyImg(){
//创建验证码的配置文件(框架自带的,可以直接从\Think\Verify拿过来用)
$config =
array(
'length' => 4,
// 验证码位数
'useCurve' =>
false,
// 是否画混淆曲线
'useNoise' =>
false,
// 是否添加杂点
);
//实例化方法
$Verify =
new \Think\Verify(
$config);
//创建验证码
$Verify->
entry();
}
View Code
判断验证码、账号密码是否正确
//判断用户登录
public function dlyz(){
$this->
utf();
//获取用户输入的验证码
$yzm =
$_POST['captcha'
];
//new一个方法(找到Verify())
$img =
new \Think\Verify();
//判断,如果验证码正确,在判断用户名密码(check($yzm)框架自带的验证方法
if(
$img->check(
$yzm)){
//找到数据库的表
$admin = M('admin'
);
//I方式接收 data括号里写字段名 I括号里写传输方式和name名,类似$_POST['admin_user'];
$data['admin_user'] = I('post.username'
);
$data['admin_psd'] = I('post.password'
);
$mm =
$admin->where(
$data)->
find();
//判断,如果账号密码匹配
if(
$mm){
//跳转本控制器的Index方法
$_SESSION['qx'] = I('post.username'
);
$this->redirect("Index/index"
);
// $this->display();
}
else{
//否则提示账号密码错误
$this->error('用户名或密码错误',U("login/login"),2
);
}
}else{
//如果验证码错误,提示验证码错误
$this->error('验证码错误',U("login/login"),2
);
}
}
View Code
上传图片及生成缩略图
//添加商品sql语句调用商品模板
public function add(){
//查询商品品牌表
$brand = M('brand')->
select();
//注册一个变量给html页面
$this->assign('brand',
$brand);
//查询商品分类
$category = M('category')->
select();
$this->assign('category',
$category);
//判断前面是否post传值
if(IS_POST){
//查表
$goods = M('goods'
);
//create()方法接收前面所有的值
$data =
$goods->
create();
//判断goods_img(字段名)的error是否为0(就是判断上传图片是否成功)
if(
$_FILES['goods_img']['error']==0
){
//图片存放路径
$config =
array(
//后台路径
'rootPath' => "./Applicationxm/Admin/Public/img/",
);
//new一个框架的方法
$upload =
new \Think\Upload(
$config);
$info =
$upload->uploadOne(
$_FILES['goods_img'
]);
//大图的存放路径
$data['goods_big_img'] =
$info['savepath'].
$info['savename'
];
//缩略图
//new一个方法
$img =
new \Think\Image();
//打开图片
$big_img =
$upload->rootPath.
$data['goods_big_img'
];
$img->open(
$big_img);
//生成缩略图
$img->thumb(200,300,2
);
//保存
$small_img =
$upload->rootPath.
$info['savepath'].'small_'.
$info['savename'
];
$img->save(
$small_img);
$data['goods_small_img'] =
$info['savepath'].'small_'.
$info['savename'
];
//给货号加时间戳
$data['goods_sn'] =
time();
$str = '添加失败'
;
if(
$goods->add(
$data)){
$str = '添加成功'
;
}
//跳转页面
$this->redirect('Menu/list1',
array(),2,
$str);
}
}
//调用模板
$this->
display();
}
View Code
转载于:https://www.cnblogs.com/cp123/p/9292736.html
相关资源:DSmall TP框架多商户B2B2C开源商城系统V2.5.5