PHP ver gevorderde |
|
Ik heb verlopig het volgende:
MID = Monster ID
UID = user ID
NID = hiervan wil ik het hoogste NID per user van een bepaalt monster. NID's lopen van 1,2,...MAX(NID) maar ik ben enkel geïnteresseerd in het MAX. (Het kan zijn dat een zelfde NID meerdere keren voorkomt bij een speler bij een bepaalt monster, NID is geen unieke waarde)
Om het totaal aantal kills van een monster te berekenen moet ik alle MAX(NID) van alles spelers optellen.
function kills($MID){
global $oMysql;
$_ = " SELECT
MAX(NID) as kills
FROM
`tbl`
WHERE
MID = '". $MID ."'
GROUP BY
UID
";
$_ = $oMysql->query($_);
for($iKills=0;$a=mysql_fetch_assoc($_);$iKills += $a['kills']);
return $iKills;
}
function kills($MID){ $_ = " SELECT MAX(NID) as kills FROM `tbl` WHERE MID = '". $MID ."' GROUP BY UID "; $_ = $oMysql->query($_); return $iKills; }
Maar is er een manier hoe ik de for-loop kan weg laten en alles in de MySQL query oplossen? (Zodat ik deze functie kan laten vervallen en de boel bij in de hoofd-query kan steken? Nu moet ik per monster nog eens een deze query doen en dat kunnen er wel eens veel worden)
|