J'utilise un Round Robin pour programmer des parties. Je voudrais que chaque équipe joue à "n" jeux, et j'ai "x" équipes. Tout est génial si "x" est pair, mais si "x" est impair, je dois ajouter une autre équipe, "bye" pour que ça marche. Quand j'ai 11 équipes jouant 4 parties chacune, avec les byes, ça fonctionne, donc 4 équipes sont en train de faire des byes. C'est inefficace, car ils pourraient simplement jouer les uns avec les autres pour que chaque équipe joue 4 parties. Après avoir programmé tous les jeux, y compris les jeux où une équipe est "bye", j'essaye de rendre toutes les équipes qui ont eu une "bye week" et de les faire jouer une partie l'une contre l'autre. Je dois m'assurer que les équipes n'ont pas joué avant.Round Robin Scheduler Remplir "byes"
Depuis que j'utilise un petit nombre d'équipes, j'utilise un randomizer pour essayer des combinaisons jusqu'à ce que l'on travaille. Cependant, je ne peux pas le faire fonctionner.
Voici mon code qui planifie les équipes qui ont eu par rounds de se jouer les uns les autres. Je voudrais passer en revue et vérifier pour voir s'ils ont joué avant, et s'ils ont, randomiser la liste afin que nous puissions essayer un combo différent. Je ne pense pas que le fait de vérifier si les équipes ont joué jusqu'à présent fonctionne, car il ne mélange jamais les équipes même si elles se chevauchent.
while (true){
$needshuffled = "no";
for ($j=0; $j < $maxgames/2; $j++){
$k = $j*2;
$round[$maxgames][$j]["Home"]=$byeteams[$k];
$round[$maxgames][$j]["Away"]=$byeteams[$k+1];
$home = $round[$maxgames][$j]["Home"];
$away = $round[$maxgames][$j]["Away"];
$sql = "SELECT * FROM `temp`
WHERE (Home = '$home' and Away = '$away')
or (Home = '$away' and Away = '$home')";
if ($conn->query($sql) === TRUE) {
if ($result=mysqli_query($conn,$sql))
{
// Return the number of rows in result set
$rowcount=mysqli_num_rows($result);
if ($rowcount > 0)
{
$needshuffled = "yes";
}
}
}
}
if ($needshuffled == "no"){
break;
}
}
Cela aide à vérifier plus efficacement les deux combinaisons, n'était pas le problème que j'avais auparavant. J'ai mis à jour la question. – Ben
@Ben J'ai mis à jour ma réponse. – Solarflare
Voilà, la ligne if ($ conn-> query ($ sql) === TRUE). – Ben