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

本文总结了使用ThinkPHP框架过程中遇到的一些问题及其解决方案,包括视图条件判断、图片上传配置、分页样式修改、数据类型处理、字段自增自减操作及时间戳格式化等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没写博客了,最近刚到青岛这边找工作,有一大堆的事情,加上第一个项目比较赶,一直也没什么时间更新下博客。难得今天有时间,就把最近用TP3.2碰到的一些问题给总结一些,做个记录吧。
1、tp的<if condition="$status lt 3">--->不能写成<3,要用比较运算符来写
众所周知,有时候我们需要在视图中判断传过来的值,然后觉得视图渲染的内容。<if condition="">就是我们的首选内容,只不过有时候需要用"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', '<li class="rows">共<b>%TOTAL_ROW%</b>条记录&nbsp;第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
            $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",###}即可(小技巧)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值