Maniac
Erfahrenes Mitglied
Hi,
Ich steh vor einen Problem das mir schon den ganzen Tag kopfzerbrechen macht.
Mein Vorhaben besteht darin, dynamisch Spielbegegnungen zu erstellen wo pro Begegnung 4 Spieler teilnehmen und kein Spieler aus dem selben Team sein darf.
Das ganze hol ich mir aus einer M<SQL-Tabelle die folgt aufgebaut ist:
Tabelle: teams; Spalten: id,teamname
Tabelle: spieler; Spalten: id,team_id,name
In der Spalte team_id steht die ID des Teams aus der Tabelle teams.
Ein Team hat immer 4 Spieler, Beispieltabelle:
teams: id=5, teamname=Team 1;
teams: id=12, teamname=Team 8;
spieler: id=1, team_id=5, name=Spieler 1;
spieler: id=2, team_id=5, name=Spieler 2;
spieler: id=3, team_id=5, name=Spieler 3;
spieler: id=4, team_id=5, name=Spieler 4;
spieler: id=25, team_id=12, name=Spieler 1;
spieler: id=26, team_id=12, name=Spieler 2;
spieler: id=27, team_id=12, name=Spieler 3;
spieler: id=28, team_id=12, name=Spieler 4;
Jetzt hab ich mir alls Spieler aus der Tabelle geholt und als Array ausgeben lassen:
jetzt möchte ich wie schon gesagt immer 4 Spieler mit ungleicher team_id in dieses Array packen:
Die Keys sind nur symbloisch als Strings hier gesetzt.
Es darf jeder Spieler auch nur einmal gesetzt werden.
Mein Ansatz war folgender:
Nur komm ich nicht drauf wie ich immer einen Spieler in das array bekomme und dieser dann in keiner anderen Begegnung mehr vorkommt.
Ich steh vor einen Problem das mir schon den ganzen Tag kopfzerbrechen macht.
Mein Vorhaben besteht darin, dynamisch Spielbegegnungen zu erstellen wo pro Begegnung 4 Spieler teilnehmen und kein Spieler aus dem selben Team sein darf.
Das ganze hol ich mir aus einer M<SQL-Tabelle die folgt aufgebaut ist:
Tabelle: teams; Spalten: id,teamname
Tabelle: spieler; Spalten: id,team_id,name
In der Spalte team_id steht die ID des Teams aus der Tabelle teams.
Ein Team hat immer 4 Spieler, Beispieltabelle:
teams: id=5, teamname=Team 1;
teams: id=12, teamname=Team 8;
spieler: id=1, team_id=5, name=Spieler 1;
spieler: id=2, team_id=5, name=Spieler 2;
spieler: id=3, team_id=5, name=Spieler 3;
spieler: id=4, team_id=5, name=Spieler 4;
spieler: id=25, team_id=12, name=Spieler 1;
spieler: id=26, team_id=12, name=Spieler 2;
spieler: id=27, team_id=12, name=Spieler 3;
spieler: id=28, team_id=12, name=Spieler 4;
Jetzt hab ich mir alls Spieler aus der Tabelle geholt und als Array ausgeben lassen:
Code:
Array
(
[0] => Array
(
[id] => 1
[name] => Spieler 1
[team_id] => 1
)
[1] => Array
(
[id] => 2
[name] => Spieler 2
[team_id] => 1
)
[2] => Array
(
[id] => 3
[name] => Spieler 3
[team_id] => 1
)
[3] => Array
(
[id] => 4
[name] => Spieler 4
[team_id] => 1
)
[4] => Array
(
[id] => 5
[name] => Spieler 1
[team_id] => 2
)
[5] => Array
(
[id] => 6
[name] => Spieler 2
[team_id] => 2
)
[6] => Array
(
[id] => 7
[name] => Spieler 3
[team_id] => 2
)
[7] => Array
(
[id] => 8
[name] => Spieler 4
[team_id] => 2
)
..... geht weiter bis mehrere Hundert
)
Code:
Array
(
[Begegnung 1] => Array
(
[Spieler 1] => Spieler 2 - team_id: 5
[Spieler 2] => Spieler 1 - team_id: 6
[Spieler 3] => Spieler 1 - team_id: 9
[Spieler 4] => Spieler 4 - team_id: 10
)
[Begegnung2] => Array
(
[Spieler 1] => Spieler 1 - team_id: 5
[Spieler 2] => Spieler 2 - team_id: 6
[Spieler 3] => Spieler 2 - team_id: 10
[Spieler 4] => Spieler 4 - team_id: 4
)
....weitere
)
Es darf jeder Spieler auch nur einmal gesetzt werden.
Mein Ansatz war folgender:
PHP:
for($i=1;$i<=300;$i++){
for($p=1;$p<=4;$p++){
$arr['Begegnung'.$i]['Spieler'.$p] = '';
// hier muss immer ein Spieler rein, vom Array $players wie oben beschrieben
}
}
Nur komm ich nicht drauf wie ich immer einen Spieler in das array bekomme und dieser dann in keiner anderen Begegnung mehr vorkommt.