Hello,
»» Ich möchte jedoch gern zufällige Spielerpaarungen erzeugen. Soll heißen: Wer spielt gegen wen?
"Sortiere" die Ergebnismenge nach Zufall (ORDER BY RAND()) und limitiere sie auf 2 (LIMIT 2).
Es sind aber mehr als zwei Spieler vorgesehen und ich brauch die Werte später fest. So hätte ich bei jedem Durchgang wieder neue Pärchen.
Ja.
Und außerdem musst Du doch auch sicherstellen, dass die bereits gepaarten nicht nochmals gepaart werden.
Ich würde das anders machen: Eine weitere Tabelle bereitstellen für die Ziehungen
id ziehung id_spieler
1 1 22
2 1 11
3 1 1
4 1 25
5 1 40
6 1 13
7 2 11
8 2 33
. .
Diese Tabelle fütterst Du mit einer Abfrage aus der anderen mit
... Order by rand() limit $geradezahl
je nachdem, wieviele Paare Du aus der Gesamtmenge bilden willst.
Und nachher spilt dann immer
$offset+1 mit $offset+2
$offset+3 mit $offset+4
$offset+5 mit $offset+6
wobei $offset der Aufsetzpunkt in den IDs der Ziehungstabelle ist, also für di erste Ziehung 0, für die zweite Ziehung 7 usw.
Das Paare anzeigen lässt sich dann durch eine weitere Abfrage mit self-join erledigen
SO ist sichergestellt, dass die Ziehung dokumentiert ist und dass Du in einer Ziehung wirklich jeden Spieler-Datensatz nur einmal hast.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg