小编Luc*_*eos的帖子

基于开始和结束时间的最活跃时间

我正在记录我社区中游戏玩家的统计数据.对于他们在线和游戏中的状态,我在他们"开始"和"结束"时注册.为了显示当天最活跃的日期和小时,我想使用一个SQL语句,根据"开始"和"结束"日期时间值来衡量最活跃的时刻.

查看SQL - 从db中选择大多数"活动"时间我可以看到相似之处,但我还需要包括开始和结束时间之间的时刻.

也许最简单的方法是编写一个执行计算的cron,但我希望这个问题可能会教我如何在SQL中解决这个问题.

我一直在搜索一个SQL语句,它允许创建一个日期时间段并使用它来减去单个小时和几天.但无济于事.

---更新

我正在考虑更多这方面,我想知道根据一天中的每个小时(最活跃的小时)运行24个查询以及最活跃的一天的几个查询是否明智.但这似乎是对性能的浪费.但是这个解决方案可能会使查询成为可能:

SELECT COUNT(`userID`), DATE_FORMAT("%H",started) AS starthour, 
       DATE_FORMAT("%H",ended) AS endhour 
       FROM gameactivity 
       WHERE starthour >= $hour 
             AND endhour <= $hour GROUP BY `userID`
Run Code Online (Sandbox Code Playgroud)

(为了示例的目的,添加了$小时,当然我正在使用PDO.列也仅用于示例目的,无论您认为哪些都很容易用于解释,可以识别为开始和结束对我来说是好的)

附加信息; PHP 5.5 +,PDO,MySQL 5+ ingame的表格布局将是:gameactivity:activityid,userid,gameid,started,ended

DDL:

CREATE TABLE IF NOT EXISTS `steamonlineactivity` (
  `activityID` int(13) NOT NULL AUTO_INCREMENT,
  `userID` varchar(255) NOT NULL,
  `online` datetime DEFAULT NULL,
  `offline` datetime DEFAULT NULL,
  PRIMARY KEY (`activityID`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Run Code Online (Sandbox Code Playgroud)

mysql

11
推荐指数
1
解决办法
2448
查看次数

laravel 5的动态中间件

为Laravel 5构建多租户包时,我必须找到如何从代码中动态添加中间件.与SO上的这个问题相比,我不想触及Http/Kernel定义.

在应用程序初始化期间,我检查数据库中是否已知所请求的主机名,以及该主机名是否需要重定向到主主机名或ssl.

因为您不想触摸Http/Kernel包,所以我们需要使用服务提供商.

要求:

  • 动态添加中间件而不触及Http/Kernel
  • 使用服务提供者和响应对象而不是"黑客"

multi-tenant laravel laravel-routing laravel-5

9
推荐指数
1
解决办法
3786
查看次数

使用mysqli_query()时mysql_error()不起作用

使用mysql_error()函数没有显示错误.msqli_query()工作正常但是当我在它旁边添加mysql_error时,即使您的查询无效且连接错误,我也不会在网页中收到任何内容.

example. mysqli_query($link, $query) or die(mysql_error()); <--- Nothing comes up
Run Code Online (Sandbox Code Playgroud)

链接脚本:

<?php

#SET DATABASE CREDENTIALS
$mysql_host     = 'localhost';
$mysql_username = 'root';
$mysql_password = 'root';
$mysql_db   = 'attendance';
$mysql_error    = 'Error: connection';

//TEST CONNECTION
$link = mysqli_connect( $mysql_host, $mysql_username, $mysql_password, $mysql_db) or die($mysql_error);

if(mysqli_connect_errno())
{

printf("Connection Failed: %s\n", mysqli_connect_error());
exit();

}
?>
Run Code Online (Sandbox Code Playgroud)

查询脚本:

<?php

require('conn.php'); <--- **No Problem**

$query = "SELsECT * FROM `$TBL` WHERE `textFromDate` >= '".mysql_real_escape_string($date1)."' AND `textToDate` <= '".mysql_real_escape_string($date2)."' AND `Scheme`='Paid'";

$resultwholeday = mysqli_query($link, $wholeday) or die(mysql_error()); <--- …
Run Code Online (Sandbox Code Playgroud)

php mysqli

4
推荐指数
1
解决办法
6368
查看次数

Html5画布问题,图像尺寸错误

我正在尝试创建一个10x10图像的网格.这些是从javascript(对象)加载并使用onload方法将其添加到画布.添加工作,但画布图像似乎调整大小.currentSizes.cellSize的结果是80.然而,即使drawImage参数的宽度和高度值为80,所以添加的图像似乎大于80定义的图像.

我的目标是将画布游戏构建为jQuery插件.我想显示一个带有岛屿的javascript动态创建的网格(就像网络浏览器征服类型的游戏一样).所以我想创建一个100%宽度(和高度)的画布,其中javascript动态测量每个单元格(10x10)的大小.

所以我有以下内容:

                for( var i = 0 ; i < totalTiles ; i++ ) {

                // go to first column in next row
                if( x >= 10 ) {
                    x   = x - 10;
                    y   = y + 1;
                }


                // build the world
                tiles[i]    = new Image();
                tiles[i].x  = x;
                tiles[i].y  = y;
                tiles[i].towidth    = currentSizes.cellSize;
                tiles[i].toheight   = currentSizes.cellSize;
                tiles[i].coordx = ( x * currentSizes.cellSize );
                tiles[i].coordy = ( y * currentSizes.cellSize );
                //tiles[i].onload   = function() { canvas2d.drawImage( …
Run Code Online (Sandbox Code Playgroud)

jquery-plugins html5-canvas

2
推荐指数
1
解决办法
1262
查看次数