Zadejte hledaný výraz...

Výsledek losování uložit do databáze.

Michales
verified
rating uzivatele
(5 hodnocení)
3. 4. 2013 18:06:14
Dobrý den,
potřeboval bych poradit.
V následujícím kodu je toto losování: http://michales.eu/losovani.php
Kód:
function main() {
?>

Rozlosování zápasů

// Find out how many teams we want fixtures for.
if (! isset($_GET) && ! isset($_GET)) {
print get_form();
} else {
# XXX check for int
print show_fixtures(isset($_GET) ? nums(intval($_GET)) : explode("n", trim($_GET)));
}
}
function nums($n) {
$ns = array();
for ($i = 1; $i <= $n; $i++) {
$ns[] = $i;
}
return $ns;
}
function show_fixtures($names) {
$teams = sizeof($names);
print "

Rozlosování pro $teams týmy.

";
// If odd number of teams add a "ghost".
$ghost = false;
if ($teams % 2 == 1) {
$teams++;
$ghost = true;
}
// Generate the fixtures using the cyclic algorithm.
$totalRounds = $teams - 1;
$matchesPerRound = $teams / 2;
$rounds = array();
for ($i = 0; $i < $totalRounds; $i++) {
$rounds = array();
}
for ($round = 0; $round < $totalRounds; $round++) {
for ($match = 0; $match < $matchesPerRound; $match++) {
$home = ($round + $match) % ($teams - 1);
$away = ($teams - 1 - $match + $round) % ($teams - 1);
// Last team stays in the same place while the others
// rotate around it.
if ($match == 0) {
$away = $teams - 1;
}
$rounds = team_name($home + 1, $names)
. ' VS '. team_name($away + 1, $names);
}
}
// Interleave so that home and away games are fairly evenly dispersed.
$interleaved = array();
for ($i = 0; $i < $totalRounds; $i++) {
$interleaved = array();
}
$evn = 0;
$odd = ($teams / 2);
for ($i = 0; $i < sizeof($rounds); $i++) {
if ($i % 2 == 0) {
$interleaved = $rounds;
} else {
$interleaved = $rounds;
}
}
$rounds = $interleaved;
// Last team can't be away for every game so flip them
// to home on odd rounds.
for ($round = 0; $round < sizeof($rounds); $round++) {
if ($round % 2 == 1) {
$rounds = flip($rounds);
}
}
// Display the fixtures
for ($i = 0; $i < sizeof($rounds); $i++) {
print "

Kolo " . ($i + 1) . "

n";
foreach ($rounds as $r) {
print $r . "
";
}
print "
";
}
print "

Druhá polovina je zrcadlem první polovině

";
$round_counter = sizeof($rounds) + 1;
for ($i = sizeof($rounds) - 1; $i >= 0; $i--) {
print "

Kolo " . $round_counter . "

n";
$round_counter += 1;
foreach ($rounds as $r) {
print flip($r) . "
";
}
print "
";
}
print "
";
if ($ghost) {
print "Matches against team " . $teams . " are byes.";
}
}
function flip($match) {
$components = explode(' v ', $match);
return $components . " v " . $components;
}
function team_name($num, $names) {
$i = $num - 1;
if (sizeof($names) > $i && strlen(trim($names)) > 0) {
return trim($names);
} else {
return $num;
}
}
function get_form() {
$s = '';
$s = '

Zadejte počet týmů nebo jména týmů

' . "n";
$s .= '
' . "n";
$s .= '' . "n";
$s .= '' . "n";
$s .= '
' . "n";
$s .= '
' . "n";
$s .= '
nebo
' . "n";
$s .= ''
. '' . "n";
$s .= '' . "n";
$s .= "
n";
return $s;
}
main();
?>
Teď k otázce, dalo by se nějakým způsobem doprogramovat aby se výsledek rozlosování uložil do databáze?
Udělal bych tabulku v databázy z názvem rozlosování, ze sloupci řekl bych Home a Away.
Ale už si neporadím s úpravou toho kódu aby se tam ten výsledek vložil.
Poradil by někdo případně někdo doprogramoval?
Děkuji velice.
3. 4. 2013 18:06:14
https://webtrh.cz/diskuse/vysledek-losovani-ulozit-do-databaze#reply886312
Jo ... kdyztak PM
3. 4. 2013 18:39:32
https://webtrh.cz/diskuse/vysledek-losovani-ulozit-do-databaze#reply886311
ver4rs
verified
rating uzivatele
3. 4. 2013 19:10:43
Ahoj,
ako si to predstavujes, ako by si to chcel uložit?
Chceš ukladať všetky záznamy, ktoré nejaký uživateľ zada?
Chces jedno rozlosovanie uložit do 1 riadku alebo do viacerých?
Rozlosovanie 2 to je 1vs2 asi... nepocitajme zrkadlovo obratene....ok
Môžeš každý jeden zápas ukladať ako nový záznam prvi stlpec ulozis zapas 1vs2 v druhom stlpci ulozis nejake id vygenerovane k tomu rozlosovaniu aby si mohol potom zobraziť vsetky zápasy podla toho id, treti stlpec pocet tymov-rozlosovanie no nezabudni na jedinecne id-cko. :D
Alebo mohol by si uložit jedno rozlosovanie do jedneho riadku, vyzeralo by to podobne, stlpec na jedinecne id, stlpec na pocet tymov-rozlosovanie, stlpec tu by si zapisal vsetky zapasy zaradom a oddelil ich cim chces (,.) ???
Môžem ti s tým poradiť, aj nakodiť, ak chceš, napíš mi.
PS: možno si to nepochopil, ale napiš, dohodneme sa.
3. 4. 2013 19:10:43
https://webtrh.cz/diskuse/vysledek-losovani-ulozit-do-databaze#reply886310
Pro odpověď se přihlašte.
Přihlásit