Allora, io ho pensato di utilizzare un for ed un foreach.

Le squadre sono memorizzate nel db. Quindi il primo passo da fare è sapere quante squadre ci sono (tu lo sai ma potresti anche non saperlo!).

1) Pertanto per prima cosa estrai gli id delle squadre e li inserisci in un array.

2) Esegui il foreach ed incrementi il contatore ($a++)
codice:
$a = 0;
foreach ( $squadre as $key => $value )
In questo modo scorri tutto l'array.

3) A questo punto devi inserire un for che ti combini la squadra attuale (indicata dalla variabile $i) con tutte le altre
codice:
for ($b = 0 ; $b < count($squadre) ; $b++)
   {
      if ( $a != $b )
        {
          $squadre[$a] giocherà contro $squadre[$b]
        }
   }
Il codice è molto molto generico. Più che altro è la spiegazione del procedimento che seguirei io. Cerca di combinare qualcosa. Se non ci riesci vedrò di aiutarti in modo più specifico. Purtroppo il tempo è tiranno e di più per adesso non posso! Fammi sapere! Ciao!