Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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 Sql查询-不同操作_Php_Sql - Fatal编程技术网

Php Sql查询-不同操作

Php Sql查询-不同操作,php,sql,Php,Sql,我试图为自己解决一个问题。 我有一个索引页面,用户输入开始和结束日期。然后页面如下所示: 问题是: $dbResult = mysql_query("SELECT * FROM profilesInitPlayer where Date BETWEEN '" . $startDate . "' and '" . $endDate . "'"); 然而,我想要的是只显示一次日期,而不是每个记录。我可以这样做吗?还有其他建议吗 您的意思是只需要表格中的不同日期(即开始日期和结束日期之间的日期)

我试图为自己解决一个问题。 我有一个索引页面,用户输入开始和结束日期。然后页面如下所示:

问题是:

 $dbResult = mysql_query("SELECT * FROM profilesInitPlayer where Date BETWEEN '" . $startDate . "' and '" . $endDate . "'");
然而,我想要的是只显示一次日期,而不是每个记录。我可以这样做吗?还有其他建议吗


您的意思是只需要表格中的不同日期(即开始日期和结束日期之间的日期)


是否要显示该日期范围内的所有元组,但只打印一次日期?使用SQL不能做到这一点,因为SQL语句的结果是一个2D表,并且所需的结构类似于树

但是你可以用php来实现这一点。只需在查询中按日期排序,循环元组,每次找到新日期时,打印出来:

$lastDate = false;
while($tuple = mysql_fetch_assoc($result))
{
    if ($tuple["Date"] != $lastDate)
    {
         print $tuple["Date"];
         $lastDate = $tuple["Date"];
    }
    var_dump($tuple);
}
这将产生类似于

2012-02-20
tuple1
tuple2
tuple3
2012-02-21
tuple4
tuple5
2012-02-20
tuple1
tuple2
tuple3
2012-02-21
tuple4
tuple5