2010-12-22 9 views
0

je le code suivant qui produit la sortie suivante: -Mêmes données apparaissent qu'une seule fois

<? 
$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> 

Il apparaît comme ce http://dl.dropbox.com/u/14384295/darrenan.jpg

Je veux les mêmes données apparaissent une seule fois ..

Comme Nom d'utilisateur: Vegas et prix avec lui une seule fois.

Répondre

0

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

Désolé n'a pas ajouté de tablae dans le premier message. quand même résolu.

0

Essayez de changer

$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

non rien ne change. – friendishan

0

Modifier ce

$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

Vous pouvez utiliser "DISTINCT" dans la requête Select pour éviter la répétition des données dans le résultat.

Questions connexes