thinkphp 5統計今月1日登録の人数コードフラグメント記録(登録時間はタイムスタンプ)
4800 ワード
public function countMonthUsers()
{
$month = date('Y-m',time());
$prefix = config('database.prefix');
$semRes = Db::query("select FROM_UNIXTIME(create_time,'%Y-%m-%d') days,count(id) count from ".$prefix."user_submit WHERE FROM_UNIXTIME(create_time,'%Y-%m') = '".$month."' AND delete_time = 0 group by days");
$seoRes = Db::query("select FROM_UNIXTIME(create_time,'%Y-%m-%d') days,count(id) count from ".$prefix."user_submit WHERE FROM_UNIXTIME(create_time,'%Y-%m') = '".$month."' AND delete_time = 0 group by days");
// x , x
$j = date("t"); //
$start_time = strtotime(date('Y-m-01')); //
$xData = array();
for($i=0;$i$v)
{
foreach ($semRes as $kk=>$vv)
{
if($v == $vv['days'])
{
$ySemData[$k] = $vv['count'];
break;
}else{
$ySemData[$k] = 0;
continue;
}
}
}
}else{
foreach ($xData as $k=>$v)
{
$ySemData[$k] = 0;
}
}
$ySeoData = array();
if(!empty($seoRes))
{
foreach ($xData as $k=>$v)
{
foreach ($seoRes as $kk=>$vv)
{
if($v == $vv['days'])
{
$ySeoData[$k] = $vv['count'];
break;
}else{
$ySeoData[$k] = 0;
continue;
}
}
}
}else{
foreach ($xData as $k=>$v)
{
$ySeoData[$k] = 0;
}
}
return [$xData,$ySemData,$ySeoData];
}
上のコード用thinkphp 5フレームワークで、最後に取得したデータの場合は下の様子
array(3) {
[0] => array(28) {
[0] => string(10) "2018-02-01"
[1] => string(10) "2018-02-02"
[2] => string(10) "2018-02-03"
[3] => string(10) "2018-02-04"
[4] => string(10) "2018-02-05"
[5] => string(10) "2018-02-06"
[6] => string(10) "2018-02-07"
[7] => string(10) "2018-02-08"
[8] => string(10) "2018-02-09"
[9] => string(10) "2018-02-10"
[10] => string(10) "2018-02-11"
[11] => string(10) "2018-02-12"
[12] => string(10) "2018-02-13"
[13] => string(10) "2018-02-14"
[14] => string(10) "2018-02-15"
[15] => string(10) "2018-02-16"
[16] => string(10) "2018-02-17"
[17] => string(10) "2018-02-18"
[18] => string(10) "2018-02-19"
[19] => string(10) "2018-02-20"
[20] => string(10) "2018-02-21"
[21] => string(10) "2018-02-22"
[22] => string(10) "2018-02-23"
[23] => string(10) "2018-02-24"
[24] => string(10) "2018-02-25"
[25] => string(10) "2018-02-26"
[26] => string(10) "2018-02-27"
[27] => string(10) "2018-02-28"
}
[1] => array(28) {
[0] => int(0)
[1] => int(0)
[2] => int(0)
[3] => int(0)
[4] => int(0)
[5] => int(0)
[6] => int(0)
[7] => int(0)
[8] => int(0)
[9] => int(0)
[10] => int(0)
[11] => int(0)
[12] => int(0)
[13] => int(0)
[14] => int(0)
[15] => int(0)
[16] => int(0)
[17] => int(0)
[18] => int(0)
[19] => int(0)
[20] => int(0)
[21] => int(0)
[22] => int(0)
[23] => int(30)
[24] => int(0)
[25] => int(6)
[26] => int(17)
[27] => int(0)
}
[2] => array(28) {
[0] => int(0)
[1] => int(0)
[2] => int(0)
[3] => int(0)
[4] => int(0)
[5] => int(0)
[6] => int(0)
[7] => int(0)
[8] => int(0)
[9] => int(0)
[10] => int(0)
[11] => int(0)
[12] => int(0)
[13] => int(0)
[14] => int(0)
[15] => int(0)
[16] => int(0)
[17] => int(0)
[18] => int(0)
[19] => int(0)
[20] => int(0)
[21] => int(0)
[22] => int(0)
[23] => int(0)
[24] => int(0)
[25] => int(0)
[26] => int(6)
[27] => int(0)
}
}