应用TP3.2.3的一些小问题(一)

好久没写博客了,最近刚到青岛这边找工作,有一大堆的事情,加上第一个项目比较赶,一直也没什么时间更新下博客。难得今天有时间,就把最近用TP3.2碰到的一些问题给总结一些,做个记录吧。
1、tp的--->不能写成<3,要用比较运算符来写
众所周知,有时候我们需要在视图中判断传过来的值,然后觉得视图渲染的内容。就是我们的首选内容,只不过有时候需要用"lt","gt"来代替大于号和小于号
2、TP的上传图片
$upload = new \Think\Upload();
//设置文件信息,上传的文件类型
$upload->mimes=array('image/png','image/gif','image/jpeg');
//设置不允许自动生成子目录
$upload->autoSub=false;
$upload->rootPath="./public/";
$upload->savePath="product/";
//保存图片
$imageRe = $upload->upload();
if($imageRe){
//图片名称写数据库表productimage
$productimage = M("Productimage");
foreach($imageRe as $v)
{
$imagename = $v['savename'];
$productimage->data(array('imagename'=>$imagename,'productid'=>$id))->add();
}
}
$this->success("添加成功",__APP__.'/Product/oper');
}else{
$this->error("添加失败",__APP__.'/Product/add');
}

(PS:如果success或者error方面的跳转页面会继续加载的模板的话,就需要在下面加个exit来组织一下
例如:

$this->success("添加成功",__APP__.'/Product/oper');

exit;
3、TP的分页样式,可在控制器修改:
 $Page       = new \Think\Page($count,10);// 实例化分页类 传入总记录数和每页显示的记录数
            $Page->setConfig('header', '
  • %TOTAL_ROW%条记录 第%NOW_PAGE%页/共%TOTAL_PAGE%
  • ');
                $Page->setConfig('prev', '上一页');
                $Page->setConfig('next', '下一页');
                $Page->setConfig('last', '末页');
                $Page->setConfig('first', '首页');
                $Page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
                $Page->lastSuffix = false;//最后一页不显示为总页数
    (PS:这个是在控制器更改分页样式的,因为有时候Tp自带的分页总是那么差强人意)
    4、TP在插入数据库时,在用Excel导入数据的时候,碰到11位的数字都变成2147483647,原因是int类型的数据,最大只能到2147483647,所以11位的都变成了2147483647,
    解决办法:
    把字段类型由int改为bigint,就可以了.
    我出现的问题:用(int)$phone转换字符类型后,出现数值变成了2147483647
    5、在TP中想让字段的值自增或自减:
    自增:
    $user->where->setInc('status');  --->status状态自增1
    $user->where->setInc('status','3');  --->status状态自增3
    自减:
    $user->where->setDec('status');  --->status状态自减1
    $user->where->setDec('status','3');  --->status状态自减3
    (PS:这连个函数在有些场景下是很好用的,比如登录后金币自动+10等)
    6、TP框架的add方法返回插入数据的id值!!!!!!
    注意,返回的不是受影响行数,而是id
    (PS:这个是我用laravel用习惯带来的坑,习惯性的认为新增会返回布尔值吧,结果竟然是id值!!!!)
    7、TP在视图上把时间戳转化为格式化日期:{$a|date="Y-m-d H:i:s",###}即可(小技巧)

    你可能感兴趣的:(php开发)