// calcul d'une liste de seeds corrects comprise entre 0 et finale*2-1 $T = array(); creer_tableau_seed($T, $finale * 2); // calcul d'une liste aléatoire sans doublon comprise entre 0 et finale*2-1 $tab_rand = array(); for ($i = 0; $i < $finale * 2; $i++) { $ran = rand(0, $finale * 2 - 1); if (in_array($ran, $tab_rand)) { $i--; } else { $tab_rand[] = $ran; } } /** calcul des tableaux des sorties de poules **/ for ($p = 1; $p <= $nb_poules; $p++) { $nb_equipes_new = nb_equipes_poule($p, $s_tournois); if ($nb_equipes_max < $nb_equipes_new) { $nb_equipes_max = $nb_equipes_new; } // contruction du tableau de poules non trié $db->select("id, {$champX}, status, IFNULL(seed,10000) as seed"); $db->from("{$dbprefix}{$equipesX}, {$dbprefix}participe"); $db->where("{$dbprefix}{$equipesX}.id = {$dbprefix}participe.equipe"); $db->where("poule = {$p}"); $db->where("status = 'P'"); $db->where("tournois = {$s_tournois}"); $db->order_by("seed,{$champX}"); $res1 = $db->exec(); $j = 0; $tab_poule = array(); while ($participant = $db->fetch($res1)) {
$db->where("type = 'P'"); $db->where("tournois = {$s_tournois}"); $db->exec(); for ($j = 1; $j <= $nb_poules_tournois; $j++) { $i = 1; $db->select("equipe"); $db->from("{$dbprefix}participe"); $db->where("poule = {$j}"); $db->where("tournois = {$s_tournois}"); $db->exec(); while ($row = $db->fetch()) { $poules[$j][$i] = $row->equipe; $i++; } // generation de tous les tours de la poules $nb_equipes = nb_equipes_poule($j, $s_tournois); $matchs = generer_match($nb_equipes); $nb_tours = count($matchs); $nb_matchs_par_tour = count($matchs[1]); for ($tour = 1; $tour <= $nb_tours; $tour++) { for ($num_match = 1; $num_match <= $nb_matchs_par_tour; $num_match++) { $equipeX1 = $matchs[$tour][$num_match][1]; $equipeX2 = $matchs[$tour][$num_match][2]; // si un match est vide (poule impaire) if ($equipeX1 == 0 || $equipeX2 == 0) { continue; } /*** declaration du match du tour ***/ $db->insert("{$dbprefix}matchs (equipe1,equipe2,type,poule,tour,tournois)"); $db->values("'" . $poules[$j][$equipeX1] . "','" . $poules[$j][$equipeX2] . "','P',{$j},{$tour},{$s_tournois}"); $db->exec();