Ich habe deinen vorherigen Beitrag und diesen hier gelesen. Wenn ich das verstehe, ist die grundlegende Sache, dass Sie Teams und Spieler haben und Daten in bestimmten standardisierten Gruppierungen (sozusagen) anzeigen möchten.
Nun, es gibt ein konstantes Datum, mit dem Sie immer die Größe des Teams vergleichen.
Was ich tun würde, ist eine Unterabfrage zu erstellen, die das Team mit einer Anzahl der Spieler gruppiert, und dies auf irgendeine Weise wie folgt zu verwenden:
select t.*
, x.total_players
-- , row_number() over(order by t.team_name) row_id
from team_table t
join (
select team_id
, count(1) total_playerss
from team_table
group by team_id
) x on x.team_id = t.team_id
order by t.team_name
Wenn Sie die Ergebnismenge in PHP ausgeben, können Sie einige Funktionen erstellen, wie zum Beispiel:
<?php
function add_some_word($playerCount) {
if ($playerCount >4 && $playerCount <= 8) {
echo '*** SOME WORD***';
echo '*** SOME WORD***';
echo '*** SOME WORD***';
}
else if ($playerCount >4 && $playerCount <= 8) {
echo '*** SOME WORD***';
echo '*** SOME WORD***';
}
// etc.
}
?>
Verwenden der row_id
Aus dem Ergebnissatz können Sie sehen, wann ein Team beginnt und endet.
Wenn es also die Zeilen ausspuckt, könnte es so aussehen:"
<?php
$currentTeamName = "";
while ($row = pg_fetch_array($result,null,PGSQL_ASSOC)) {
// echo data you would normally send out
if ($currentTeamName != $row['team_name']) {
add_some_word($row['total_players']);
}
}
?>
Ich hoffe, ich habe Ihre Frage richtig verstanden. Ich hetze das schnell ab, aber ich dachte, es würde helfen!