Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按日期时间组织MySQL结果_Php_Mysql_Datetime - Fatal编程技术网

Php 按日期时间组织MySQL结果

Php 按日期时间组织MySQL结果,php,mysql,datetime,Php,Mysql,Datetime,使用PHP,我试图找到一种方法来组合多个MySQL查询的结果,并将它们放入一个按日期时间戳排序的数组中,该数组在数据库中保存在“timestamp”下 我的代码: $reactions = DB::query('SELECT * FROM reactions WHERE poster_id=:userid', array(':userid' => $userid)); $comments = DB::query('SELECT * FROM comments

使用PHP,我试图找到一种方法来组合多个MySQL查询的结果,并将它们放入一个按日期时间戳排序的数组中,该数组在数据库中保存在“timestamp”下

我的代码:

        $reactions = DB::query('SELECT * FROM reactions WHERE poster_id=:userid', array(':userid' => $userid));
        $comments = DB::query('SELECT * FROM comments WHERE poster_id=:userid', array(':userid' => $userid));
        $mentions = DB::query('SELECT * FROM comments WHERE FIND_IN_SET(:users , users)', array(':users' => $userid));
        $postMentions = DB::query('SELECT * FROM posts WHERE FIND_IN_SET(:users , users)', array(':users' => $userid));
编辑: 更新代码

$reactions = "'SELECT timestamp as date FROM reactions WHERE poster_id=:userid', array(':userid' => $userid)";
        $comments = "'SELECT timestamp as date FROM comments WHERE poster_id=:userid', array(':userid' => $userid)";
        $mentions = "'SELECT timestamp as date FROM comments WHERE FIND_IN_SET(:users , users)', array(':users' => $userid)";
        $postMentions = "'SELECT timestamp as date FROM posts WHERE FIND_IN_SET(:users , users)', array(':users' => $userid)";

        $sql = 'SELECT timestamp FROM ('.$reactions.' UNION ALL '.$comments.' UNION ALL '.$mentions.' UNION ALL '.$postMentions.') as combined order by timestamp desc';

        $result = DB::query($sql, array());

        print_r($result);

你们可以通过联合来实现同样的目标。请尝试下面的代码片段

$reactions = 'SELECT reactions.date as date FROM reactions WHERE poster_id=:userid', array(':userid' => $userid);
$comments = 'SELECT comments.date as date FROM comments WHERE poster_id=:userid', array(':userid' => $userid);
$mentions = 'SELECT comments.date as date FROM comments WHERE FIND_IN_SET(:users , users)', array(':users' => $userid);
$postMentions = 'SELECT posts.date as date FROM posts WHERE FIND_IN_SET(:users , users)', array(':users' => $userid);

$sql = SELECT combined.date from (".$reactions." UNION ALL ".$comments." UNION ALL ".$mentions." UNION ALL ".$postMentions.") as combined order by combined.date desc;

你在mysql中尝试过“联合”吗?@KimberleeHo-no,我从来没有听说过。我该如何在代码中实现这一点?我正在使用DB类中的查询。另外,我不使用combined.date或其中任何一个,它们是必需的吗?添加这一行
$result=DB::query($sql)这应该执行您的查询…这里的组合是一个表别名。我尝试实现它,但它给了页面一个“HTTP错误500”,我将更新的代码编辑到了主问题中。