2010-12-22 65 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”以避免重复结果中的数据。