我试着为我解决问题。 我有一个索引页面,用户输入开始和结束日期。然后页面就会出现:
和查询是:
$dbResult = mysql_query("SELECT * FROM profilesInitPlayer where Date BETWEEN '" . $startDate . "' and '" . $endDate . "'");
然而我想要的只是显示日期而不是每个记录一次。我能做到这一点吗?还是其他任何建议?
答案 0 :(得分:1)
您的意思是您只想要表格中的不同日期(即开始日期和结束日期之间的日期)吗?
SELECT DISTINCT `Date`
FROM profilesInitPlayer ...
答案 1 :(得分:0)
您想要显示该日期范围内的所有元组,但只打印一天一次?你不能用SQL做到这一点,因为sql语句的结果是一个2D表,你想要的结构就像一棵树。
但你可以用php做到这一点。在您的查询中只需ORDER BY Date
,循环遍历元组,每次找到新日期时,都将其打印出来:
$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