2012-02-20 42 views
0

我試着爲我解決一個問題。 我有一個索引頁和用戶輸入開始和結束date.then一個頁面就要這樣:sql查詢 - 不同的操作

和查詢的是:

$dbResult = mysql_query("SELECT * FROM profilesInitPlayer where Date BETWEEN '" . $startDate . "' and '" . $endDate . "'"); 

但是我想是顯示日期只有一個時間不每一條記錄。我能做到這一點嗎?還是有其他建議?

enter image description here

回答

1

你的意思是你只想在表中(即在你的開始日期和結束日期之間的日期)的不同的日期?

SELECT DISTINCT `Date` 
FROM profilesInitPlayer ... 
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