php getlist,PHP教程:ThinkPHP使用getlist方法实现数据搜索功能示例

《PHP教程:ThinkPHP使用getlist方法实现数据搜索功能示例》要点:

本文介绍了PHP教程:ThinkPHP使用getlist方法实现数据搜索功能示例,希望对您有用。如果有疑问,可以联系我们。

PHP教程自己在ThinkPHP之中的model之中书写getlist方法,其实所谓的搜索功能无非就是数据库查询之中用到的like  %string%,或者其他的 字段名=特定值,这些sql语句拼接在and语句之中;

PHP教程HTML之中:

PHP教程

PHP教程看到没GET方法提交表单,这个是查询条件填入选项;

PHP教程控制器之中:

PHP教程

$order_msg=$order->getList();

$this->assign('info',$order_msg);//这个获取订单的详细信息

PHP教程Model之中:

PHP教程

public function getList($pagesize=25){

$tableName = $this->getTableName();

$where = $tableName.'.service_id = '.$_SESSION['service_site']['service_id'];

if(!empty($_GET['order_sn'])){//查询订单号

$where.= " and $tableName.`order_sn` like '%".$_GET['order_sn']."%'";

}

if(!empty($_GET['count_price_min'])){//查询订单最小金额

$where.= " and $tableName.count_price >=".$_GET['count_price_min']."";

}

if(!empty($_GET['begintime'])){//下单开始日期搜索

$_GET['begintime']=strtotime($_GET['begintime']);//将日期转为时间戳

$where.= " and $tableName.add_time >=".$_GET['begintime']."";

$_GET['begintime']=date('Y-m-d',$_GET['begintime']);//将日期转为时间戳

}

if(!empty($_GET['endtime'])){//下单结束日期搜索

$_GET['endtime']=strtotime($_GET['endtime']);//将日期转为时间戳

$where.= " and $tableName.add_time <=".$_GET['endtime']."";

$_GET['endtime']=date('Y-m-d',$_GET['endtime']);//将时间戳转换成日期,方便刷新页面后前台显示

}

if(!empty($_GET['finishbegintime'])){//交易完成开始日期搜索

$_GET['finishbegintime']=strtotime($_GET['finishbegintime']);//将日期转为时间戳

$where.= " and $tableName.ok_time >=".$_GET['finishbegintime']."";

$_GET['finishbegintime']=date('Y-m-d',$_GET['finishbegintime']);//将日期转为时间戳

}

if(!empty($_GET['finishendtime'])){//交易完成结束日期搜索

$_GET['finishendtime']=strtotime($_GET['finishendtime']);//将日期转为时间戳

$where.= " and $tableName.ok_time <=".$_GET['finishendtime']."";

$_GET['finishendtime']=date('Y-m-d',$_GET['finishendtime']);//将时间戳转换成日期,方便刷新页面后前台显示

}

if(!empty($_GET['send'])){//查询已发货预警订单,发货时间距离此刻超过五天

$where.= " and $tableName.send_time < '".(time()-60*60*24*5)."'";

}

if(!empty($_GET['doingorder'])){//查询处理中的订单

$where.= " and $tableName.status in (0,1)";

}

if(!empty($_GET['warningorder'])){//查询预警的订单:已经付款且时间超过24小时未发货

$where.= " and $tableName.pay_time < '".(time()-60*60*24)."'";

}

if(!empty($_GET['warningorder'])){//查询预警的订单:已经付款且时间超过24小时未发货

$where.= " and $tableName.is_pay = 1 ";

}

if(!empty($_GET['warningorder'])){//查询预警的订单:已经付款且时间超过24小时未发货

$where.= " and $tableName.status in (0,1)";

}

if(!empty($_GET['count_price_max'])){//查询订单最大金额

$where.= " and $tableName.count_price <=".$_GET['count_price_max']."";

}

if(!empty($_GET['user_nick_name'])){//查询采购商名称

$where.= " and fab_user.nick_name like '".$_GET['user_nick_name']."%'";

}

if(!empty($_GET['user_name'])){//查询采购商账号

$where.= " and fab_user.user_name like '".$_GET['user_name']."%'";

}

if(!empty($_GET['supplier_nick_name'])){//查询供应商商名称

$where.= " and fab_supplier.nick_name like '".$_GET['supplier_nick_name']."%'";

}

if(!empty($_GET['supplier_name'])){//查询供应商账号

$where.= " and fab_supplier.supplier_name like '".$_GET['supplier_name']."%'";

}

if($_GET['history'] == 1){

$where .= " and {$tableName}.status in (2,3,4) ";

}

if(($_GET['pay_type'])!=""&&($_GET['pay_type'])!=-1){//查询支付方式

$where.= " and fab_order_info.pay_type = ".$_GET['pay_type']."";

}

if(($_GET['status'])!=""&&($_GET['status'])!=-1){//查询订单状态

$where.= " and fab_order_info.status = ".$_GET['status']."";

}

if(!empty($_GET['stime']) && !empty($_GET['etime'])){

$stime = strtotime($_GET['stime']);

$etime = strtotime($_GET['etime']) + 24*60*60;

$where.= " and ($tableName.`inputtime` between '$stime' and '$etime')";

}

$count = $this->where($where)->count();

$this->countNum = $count;

$Page = new \Think\Page($count,$pagesize);

$this->page = $Page->show();

$limit = $Page->firstRow.','.$Page->listRows;

$sql="select $tableName.*,fab_supplier.nick_name as supplier_nick_name,fab_user.nick_name as user_nick_name

from ($tableName left join fab_supplier on fab_order_info.supplier_id=fab_supplier.supplier_id)

left join fab_user on fab_order_info.user_id=fab_user.user_id where $where order by $tableName.`order_id` desc limit $limit";

$sqls="select sum(fab_order_info.count_price) as order_price,count(fab_order_info.count_price) as order_count

from $tableName where $where order by $tableName.`order_id` desc limit $limit";

$this->sql_msg=$this->query($sqls);

return $this->query($sql);//订单详细信息

}

PHP教程你只需要留意那个GET数据获取,然后进行拼接SQL语句;你为何总是拼接错误呢!!!

PHP教程

namespace Admin\Model;

use Think\Model;

class KuaidicompanyModel extends Model {

private $page = "";

public function getList($pagesize=25){

$where = '1';

$tableName = $this->getTableName();

$count = $this->where($where)->count();

$Page = new \Think\Page($count,$pagesize);

$this->page = $Page->show();

$limit = $Page->firstRow.','.$Page->listRows;

return $this->query("select * from $tableName where $where order by $tableName.`id` asc limit $limit ");

}

public function getPage(){

return $this->page;

}

}

PHP教程精简通用版getlist,实用于分页.

PHP教程

namespace Admin\Model;

use Think\Model;

class KuaidicompanyModel extends Model {

private $page = "";

public function getList($pagesize=25){

$where = '1';

$tableName = $this->getTableName();

$count = $this->where($where)->count();

$Page = new \Think\Page($count,$pagesize);

$this->page = $Page->show();

$limit = $Page->firstRow.','.$Page->listRows;

return $this->query("select * from $tableName where $where order by $tableName.`id` asc limit $limit ");

}

public function getPage(){

return $this->page;

}

}

PHP教程精简版MODEL用于数据自动验证

PHP教程更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》.

PHP教程希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值