public function genererPoules(int $categorieId) { $db = Database::getInstance(); $stmt = $db->prepare(" SELECT id FROM equipes WHERE categorie_id=? ORDER BY nom "); $stmt->execute([$categorieId]); $equipes = $stmt->fetchAll(); shuffle($equipes); $lettres = ['A','B','C','D','E','F']; foreach($lettres as $lettre) { $insert = $db->prepare(" INSERT INTO poules ( nom, categorie_id ) VALUES (?,?) "); $insert->execute([ $lettre, $categorieId ]); } $poules = $db->query(" SELECT * FROM poules WHERE categorie_id=$categorieId ORDER BY nom ")->fetchAll(); $i = 0; foreach($equipes as $equipe) { $poule = $poules[$i % 6]; $stmt = $db->prepare(" INSERT INTO equipe_poule ( equipe_id, poule_id ) VALUES (?,?) "); $stmt->execute([ $equipe['id'], $poule['id'] ]); $i++; } } private function genererMatchsPoule( array $equipes ) { $matchs = []; $nb = count($equipes); for($i=0;$i<$nb;$i++) { for($j=$i+1;$j<$nb;$j++) { $matchs[] = [ 'a'=>$equipes[$i], 'b'=>$equipes[$j] ]; } } return $matchs; }