2010-12-22 67 views
0

我有下面的代碼產生以下輸出: -相同數據只出現一次

<? 
$tablaes = mysql_query("SELECT * FROM members where id='$order[user_id]'"); 
$user = mysql_fetch_array($tablaes); 
$idsd=$user['id']; 
$rPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE type!='rent_referral' AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "'"); 
$hdPaid = mysql_fetch_array($rPaid); 
$sPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE user_id='$idsd' AND type!='rent_referral' AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "'"); 
while ($hPaid = mysql_fetch_array($sPaid)) { 
?> 

<td><?=$user['username']?></td> 
<td><?=$hPaid['total']?></td> 
<? 
} 
?> 

</tr> 

看起來像這樣http://dl.dropbox.com/u/14384295/darrenan.jpg

我想同樣的數據只出現一次..

像用戶名:拉斯維加斯和他的價格只有一次。

回答

0

將 更改爲$tablae = mysql_query("SELECT * FROM order_history where date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "' GROUP BY user_id");

對不起,沒有在第一篇文章中添加tablae。無論如何解決。

0

試圖改變

$sPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE user_id='$idsd' AND type!='rent_referral' AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "'"); 

$sPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE user_id='$idsd' AND type!='rent_referral' AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "' GROUP BY user_id"); 
+0

不會改變。 – friendishan 2010-12-22 07:03:42

0

更改它

$sPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE user_id='$idsd' AND type!='rent_referral' AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "'"); 

$sPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE user_id='$idsd' AND type!='rent_referral' AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "' limit 1"); 
0

您可以在Select查詢中使用「DISTINCT」以避免重複結果中的數據。