Add bonus points calculation to table total.

This commit is contained in:
2018-02-21 23:19:03 +01:00
parent 3b47093a3a
commit 4b627586f8
6 changed files with 37 additions and 10 deletions

View File

@@ -42,17 +42,23 @@ $rank = 0;
$sql = "SELECT
t.*,
SUM(1) AS matches,
SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0))) AS win,
SUM(IF(goals_home = goals_guest, 1, 0)) AS draw,
SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 < goals_guest, 1, 0), IF(goals_home + 0 > goals_guest, 1, 0))) AS lost,
SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 > goals_guest, 1, 0), IF(goals_home + 0 < goals_guest, 1, 0)))
+ IFNULL((SELECT SUM(c.win) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)AS win,
SUM(IF(goals_home = goals_guest, 1, 0))
+ IFNULL((SELECT SUM(c.draw) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)AS draw,
SUM(IF((m.team_id_home = t.team_id), IF(goals_home + 0 < goals_guest, 1, 0), IF(goals_home + 0 > goals_guest, 1, 0)))
+ IFNULL((SELECT SUM(c.lost) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)AS lost,
SUM(IF(m.team_id_home = t.team_id,
IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)),
IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0))
)
) - IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points,
) + IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday),0)
+ IFNULL((SELECT SUM(c.points) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)
- IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points,
SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest , goals_guest - goals_home)) AS goals_diff,
SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals,
SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against
SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against,
IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday),0) AS bonus
FROM " . FOOTB_TEAMS . ' AS t
LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league
AND (m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id)
@@ -147,7 +153,8 @@ foreach($points_ary as $group_id => $points)
'GOALS' => $row['goals'],
'GOALS_AGAINST' => $row['goals_against'],
'GOALS_DIFF' => $row['goals_diff'],
'POINTS' => $row['points'],
'BONUS' => round($row['bonus'],2),
'POINTS' => round($row['points'],2),
)
);
}
@@ -424,6 +431,11 @@ while($row = $db->sql_fetchrow($result))
}
}
if($league < 51)
{
// Activate bonus coloumn only for tippers.
$data_bns = true;
}
$db->sql_freeresult($result);
$sidename = sprintf($user->lang['TABLE']);
$template->assign_vars(array(
@@ -434,6 +446,7 @@ $template->assign_vars(array(
'SEASON' => $season,
'LEAGUE' => $league,
'TEXT_FORM' => $text_form,
'S_DATA_BNS' => $data_bns,
)
);

View File

@@ -42,4 +42,6 @@ define('UP_WINS', 1);
define('UP_POINTS', 2);
define('LEAGUE_CHAMP', 1);
define('LEAGUE_KO', 2);
define('FOOTB_BONUS_DAY', $table_prefix . 'footb_bonuspoints_day');
?>

View File

@@ -1697,9 +1697,13 @@ function get_order_team_compare($team_ary, $season, $league, $group, $ranks, $ma
IF(goals_home + 0 > goals_guest, 3, IF(goals_home = goals_guest, 1, 0)),
IF(goals_home + 0 < goals_guest, 3, IF(goals_home = goals_guest, 1, 0))
)
) - IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points,
) + IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday),0)
+ IFNULL((SELECT SUM(c.points) FROM " . FOOTB_CORR . " AS c WHERE c.team_id = t.team_id AND c.season = t.season AND c.league = t.league AND c.matchday <= $matchday),0)
- IF(t.team_id = 20 AND t.season = 2011 AND $matchday > 7, 2, 0) AS points,
SUM(IF(m.team_id_home = t.team_id, goals_home - goals_guest, goals_guest - goals_home)) AS goals_diff,
SUM(IF(m.team_id_home = t.team_id, goals_home, goals_guest)) AS goals
SUM(IF(m.team_id_home = t.team_id, goals_home , goals_guest)) AS goals,
SUM(IF(m.team_id_home = t.team_id, goals_guest , goals_home)) AS goals_against,
IFNULL((SELECT SUM(b.bonuspoints) FROM " . FOOTB_BONUS_DAY . " AS b WHERE b.team_id = t.team_id AND b.season = t.season AND b.league = t.league AND b.matchday <= $matchday),0) AS bonus
FROM " . FOOTB_TEAMS . ' AS t
LEFT JOIN ' . FOOTB_MATCHES . " AS m ON (m.season = t.season AND m.league = t.league AND
(m.team_id_home = t.team_id OR m.team_id_guest = t.team_id) AND m.group_id = t.group_id)
@@ -1711,7 +1715,7 @@ function get_order_team_compare($team_ary, $season, $league, $group, $ranks, $ma
AND (m.team_id_home='" . implode("' OR m.team_id_home='", $team_ary) . "')
AND (m.team_id_guest='" . implode("' OR m.team_id_guest='", $team_ary) . "')
GROUP BY t.team_id
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC";
ORDER BY t.group_id ASC, points DESC, goals_diff DESC, goals DESC, bonus DESC";
$result = $db->sql_query($sql);

View File

@@ -66,6 +66,7 @@ $lang = array_merge($lang, array(
'BETS_OF_ALL' => 'Die Tipps aller Tipper',
'BETSAVED' => 'Dein Tipp wurde erfolgreich gespeichert. ',
'BETSSAVED' => 'Deine %d Tipps wurden erfolgreich gespeichert. ',
'BONUS_SHORT' => 'BNS',
'BOOK_TYPE' => 'Buchungstyp',
'CASH_POINTS' => 'Verrechnung in Ultimate Points',

View File

@@ -14,6 +14,9 @@
<th>{L_LOST_SHORT}</th>
<th colspan="3">{L_GOALS}</th>
<th>{L_GOALS_DIFF_SHORT}</th>
<!-- IF S_DATA_BNS -->
<th>{L_BONUS_SHORT}</th>
<!-- ENDIF -->
<th style="text-align: right;">{L_POINTS_SHORT}</th>
</tr>
</thead>
@@ -28,7 +31,7 @@
onclick="popup('{total.U_PLAN_TEAM}',625,625);return false;">
<td class="td_rank">{total.RANK}</td>
<td class="td_logo">{total.LOGO}</td>
<td class="td_team">{total.TEAM_SHORT}</td>
<td class="td_team">{total.TEAM}</td>
<td class="td_hits">{total.GAMES}</td>
<td class="td_hits">{total.WIN}</td>
<td class="td_hits">{total.DRAW}</td>
@@ -37,6 +40,9 @@
<td class="td_vs">:</td>
<td class="td_goals_guest">{total.GOALS_AGAINST}</td>
<td class="td_hits">{total.GOALS_DIFF}</td>
<!-- IF S_DATA_BNS -->
<td class="td_bonus">{total.BONUS}</td>
<!-- ENDIF -->
<td class="td_pts">{total.POINTS}</td>
</tr>
<!-- ENDIF -->

View File

@@ -195,6 +195,7 @@ table.football td.td_pts_total { text-align: right; padding: 4px 4px 0 2px; }
table.football td.td_rank { text-align: right; }
table.football td.td_group { text-align: center; }
table.football td.td_hits { text-align: center; }
table.football td.td_bonus { text-align: center; }
table.football td.td_wins { text-align: right; padding: 0 2px 0 4px; }
table.football td.td_match_no { text-align: right; }
table.football td.td_logo { text-align: center; }