Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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 连接两个while循环以基于日期顺序显示_Php_Mysql_Date_Display - Fatal编程技术网

Php 连接两个while循环以基于日期顺序显示

Php 连接两个while循环以基于日期顺序显示,php,mysql,date,display,Php,Mysql,Date,Display,所以我有一个MySQL查询,它基本上只是两个单独的,而循环运行并显示它们应该显示的信息,问题是它们显示的信息如下: Test1, Test2, Test1, Test2, Test1, Test2, Test3, Test4, Test3, Test4, etc... 如你所料。虽然我希望根据添加到表中的日期来安排这些结果,但是如果最近添加了一组test 3和test 4,它将显示为: test3, test4, test1, test2, test1, test2, test3, test4

所以我有一个MySQL查询,它基本上只是两个单独的
,而
循环运行并显示它们应该显示的信息,问题是它们显示的信息如下:

Test1, Test2, Test1, Test2, Test1, Test2, Test3, Test4, Test3, Test4, etc...
如你所料。虽然我希望根据添加到表中的日期来安排这些结果,但是如果最近添加了一组
test 3和test 4
,它将显示为:

test3, test4, test1, test2, test1, test2, test3, test4 etc...
根据日期重新排列这些结果?我知道使用
orderby
只能按顺序显示每个部分,但有没有一种方法可以使用我的代码将它们混合在一起,并根据添加的
日期和获得的
日期重新排列

$user_id = $_SESSION['userid'];                 
$sql8 = "SELECT * FROM table1 ORDER BY date_added;";

if ($result8 = $conn->query($sql8)) {

    /* fetch associative array */
    while ($row8 = $result8->fetch_assoc()) {
        printf ("%s (%s)\n", $row8["test1"], $row8["test2"]);
    }
}

$user_id = $_SESSION['userid'];                 
$sql9 = "SELECT * FROM table2 ORDER BY date_earned";

if ($result9 = $conn->query($sql9)) {

    /* fetch associative array */
    while ($row9 = $result9->fetch_assoc()) {
        printf ("%s (%s)\n", $row9["test3"], $row9["test4"]);
    }
}    
使用union all

Select * from(
SELECT * FROM table1 
union all
SELECT * FROM table2 
) tab ORDER BY date_added,date_earned

谢谢你的回答,我还需要使用两个单独的While语句吗,还是这段代码将它们合并成一个?