按照数组的形式排序+条件切换切换查询

简介: //TOP50 public static function getTOP50 ($fromTime='',$endTime='',$type='warAllNum' ) { $fromTime = str_replace("-", "", substr($fromTime, 0...

    //TOP50
  public static function getTOP50 ($fromTime='',$endTime='',$type='warAllNum' ) {
   $fromTime = str_replace("-", "", substr($fromTime, 0, 10));
   $endTime = str_replace("-", "", substr($endTime, 0, 10));
   $data = self::getDayCount($fromTime,$endTime);
   $type_A = array('warAllNum','warWinNum','warFailNum','killNum','deadNum') ;
   if(!in_array($type,$type_A)) return false;
                 
   $result = array_column_sort($data, "$type", $sortDirection = SORT_DESC) ;
   $result = array_slice($result,0,50);
   return $result;
  }


  -----------------------------------

  按照$type进行排序,$type是array格式,
    $type_A = array('warAllNum','warWinNum','warFailNum','killNum','deadNum') ;
   if(!in_array($type,$type_A)) return false;             
   $result = array_column_sort($data, "$type", $sortDirection = SORT_DESC) ;//按照$type排序


   ==========================================================================================
   
   ----------------------------------------------------------------------------


 

public static function showbattleresult($ifuser = 1, $starttime = 0, $endtime = 0, $ifwin = 1){
  $returnarr = array();//提前定义可以提高执行效率
  $sqladd= "";
  $column = $ifuser ? "userid" : "union_id";
  $starttime && $sqladd = " and time >=" . $starttime;
  $endtime && $sqladd .= " and time <=" . $endtime;
  $sql = "SELECT $column, activearmy_id, count( * )  as num
    FROM `tb_log_activearmy` 
    WHERE outcome=" . $ifwin . " " . $sqladd . "
    GROUP BY $column, `activearmy_id`";
//  return $sql;
  $ret = mysql_query($sql);
  while($row = mysql_fetch_assoc($ret)){
   $returnarr[$row[$column]][$row['activearmy_id']] = $row['num'];
   $returnarr[$row[$column]]['total'] = isset($returnarr[$row[$column]]['total']) ? $returnarr[$row[$column]]['total'] + $row['num'] : $row['num'];
   $returnarr[$row[$column]]['id'] = $row[$column];
  }
  return $returnarr;
 }
-------------------------------------------前提:表里面同时有这两个字段,切换用户id,和联盟id:$column = $ifuser ? "userid" : "union_id";三元目运算

目录
相关文章
|
4月前
|
存储 语音技术 索引
语音识别,列表的定义语法,列表[],列表的下标索引,从列表中取出来特定的数据,name[0]就是索引,反向索引,头部是-1,my[1][1],嵌套列表使用, 列表常用操作, 函数一样,需引入
语音识别,列表的定义语法,列表[],列表的下标索引,从列表中取出来特定的数据,name[0]就是索引,反向索引,头部是-1,my[1][1],嵌套列表使用, 列表常用操作, 函数一样,需引入
|
5月前
|
Python
python之列表添加、修改、删除、插入、翻转、排序、复制排序
python之列表添加、修改、删除、插入、翻转、排序、复制排序
|
6月前
|
前端开发 JavaScript
如何处理用户的拖拽排序操作
这个示例展示了如何使用JavaScript处理HTML列表的拖拽排序。通过监听`dragstart`、`dragend`、`dragenter`、`dragleave`、`dragover`和`drop`事件,实现拖拽元素时的视觉反馈和元素位置交换。当用户拖放列表项时,相关事件触发,更新列表顺序,提供直观的交互体验。
Python 在不改变顺序的前提下,去除列表中相邻且重复的元素
Python 在不改变顺序的前提下,去除列表中相邻且重复的元素
Excel 技术篇-跨页签统计某一区域下符合条件值的数量方法,COUNTIF函数、数量统计公式的用法实例演示
Excel 技术篇-跨页签统计某一区域下符合条件值的数量方法,COUNTIF函数、数量统计公式的用法实例演示
380 0
Excel 技术篇-跨页签统计某一区域下符合条件值的数量方法,COUNTIF函数、数量统计公式的用法实例演示
|
SQL 算法 关系型数据库
PostgreSQL 任意字段数组合 AND\OR 条件,指定返回结果条数,构造测试数据算法举例
标签 PostgreSQL , 构造测试数据 , 任意字段组合AND,OR查询 , 指定结果集大小 背景 在进行一些实际的POC测试时,需要根据业务提出的需求构造数据,比如按照任意字段数组合 AND\OR 条件,指定返回结果条数,构造测试数据。
1570 0