私は特定のマッチIDからすべてのホールスコアを取得し、それらをユーザーIDでグループ化するゴルフリーダーボードを作っています。この部分はうまく動作します。GROUP BYで配列を作成する
私はこのようにそれを行う:今
$playersArray = array();
$sql = "SELECT *, SUM(point) AS points, COUNT(*) AS holes, COUNT(*)*2-SUM(point) AS topar FROM fb_score WHERE matchid=$matchid GROUP BY userid";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()){
$playersArray[] = $row;
}
}
、私の質問があり、私は、各ユーザーのすべての「点」の配列を作成し、$行の中にそれを得ることができますwaythatはありますか?
SUM(ポイント)は3ポイント(3、5、4)と言います。結果でこれを得ることはできますか?今のように、私は各ユーザーの最新の$行だけを取得しますが、追加された "ポイント"、 "ホール"、 "topar"が追加されています。
希望は、この質問は理にかなって: -/
すべてのヘルプは高く評価され、感謝
$ row ['point']はあなたが望むものではありませんか? –
@ user2078421これは、各行のすべての一致についての合計ではなく、グループからの「最後の立った」一致です。 –
@ user2078421最終結果に$ row [point]と配列を作りたいと思います。理にかなっている?多分新しい$行を作成する[pointsarray] =配列(ユーザ別にallpoints) – Mansa