2016-07-14 4 views
0

私は自分のウェブサイトのトップユーザーを作ろうとしていますが、問題は1人または複数のユーザーが同じ金額のゲームを最初の結果がウェブサイトに表示されます。PHPのMySQLが等しい値を取得できない

データベースで検索するには、このコードを使用してイム:

$rs1 = mysql_query(SELECT won,steamid,name,avatar,games 
    FROM `users` 
    WHERE won <> 0 
    GROUP BY won DESC LIMIT 18); 
while($row = mysql_fetch_array($rs1)) 
{ //AND HTML CODE HERE...} 

誰かがこれで私を助けることができますか?ところで私はmysql_queryを使用してはならないことを知っているが、私はそれを別の操作を行うことはできません

RANK - USER - WON 
1 - NAME - 12 
2 - NAME - 8 
3 - NAME - 8 
4 - NAME - 4 

:私は、例えば、それは次のように表示されるでしょう、彼らは勝ったゲームの数が同じ場合例えば、すべてのユーザーを表示したいです方法。

+0

を共有してくださいように私には思えますもう機能はありません。彼らは廃止され、php7では削除されました。代わりにmysqli_ *またはPDOを使用してください。 –

答えて

0

問題が解決しない場合は、あなたのGROUP BYORDER BY

rs1 = mysql_query(SELECT won,steamid,name,avatar,games 
       FROM `users` 
       WHERE won <> 0 
       ORDER BY won DESC LIMIT 18); 

である必要があり、これは*あなたはmysql_を使用してはならないことを知らせるだけの義務コメントでテーブル構造

0

SELECT won,steamid,name,avatar,games FROM users WHERE won <> 0 
GROUP BY won,name order by won,name DESC LIMIT 18 
+0

このようなmysqlクエリを更新 –

+0

よく解決された問題は1つだけです...今はもっと多くのゲームを勝ち取った人から注文されていないすべてのユーザーがベットしています –

+2

私の無知を許していますが、何かORDER BY何かを必要としませんDESC – RiggsFolly

1

により、グループに名前を追加します。私は、WHERE句で使用すると、グループが必要だと思うが、あなたがしなければ、によってグループのすべての投影フィールドを使用することを検討してくださいしないでください。 mysqlでは異なるフィールドでグループ化することができますが、そうするのは良い方法ではありません。

関連する問題