示例#1
0
 // 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&eacute;
     $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)) {
示例#2
0
 $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();