Benachrichtigung
Gerade eben.
Aktuelle Version
Zwischenstand:
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
<?php
include('inc/db.inc'😉;
$erg = [];
for($i=0x123;$i<=0xcdef;$i++){
$string = sprintf("%1$04x",$i);
$array = str_split($string);
if($array[0]!=$array[1] && $array[0]!=$array[2] && $array[0]!=$array[3] && $array[1]!=$array[2] && $array[1]!=$array[3] && $array[2]!=$array[3]){
sort($array);
$make=$array[0].$array[1].$array[2].$array[3];
if(!array_key_exists($make,$erg)){
$erg["$make"] = "1";
}
}
}
foreach($erg as $key => $value){
$teams = str_split($key);
$query = "SELECT * FROM `Worms` WHERE `".$teams[0]."` = 0 AND `".$teams[1]."` = 0 AND `".$teams[2]."` = 0 AND `".$teams[3]."` = 0 LIMIT 1";
$res = $mysqli->query($query);
if($daten = $res->fetch_array()){
$Spieltag = $daten['Spieltag'];
$highest = 0;
foreach($daten as $dname => $dvalue){
if($dname != 'Spieltag' && $dvalue > $highest){
$highest = $dvalue;
}
}
$highest++;
$query="UPDATE `Worms` SET `".$teams[0]."` = '".$highest."',`".$teams[1]."` = '".$highest."',`".$teams[2]."` = '".$highest."',`".$teams[3]."` = '".$highest."' WHERE `Spieltag` = '".$Spieltag."'";
$mysqli->query($query);
} else {
$query="INSERT INTO `Worms` (`".$teams[0]."`,`".$teams[1]."`,`".$teams[2]."`,`".$teams[3]."`) VALUES (1,1,1,1)";
$mysqli->query($query);
$Spieltag = $mysqli->insert_id;
}
echo $key.' hat Spieltag '.$Spieltag.'<br>';
}
?>
Vorherige Versionen
Bearbeitet am 2. Dezember 2021 19:04 Uhr von MBGucky:
Zwischenstand:
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
<?php
include('inc/db.inc'😉;
$erg = [];
for($i=0x123;$i<=0xcdef;$i++){
$string = sprintf("%1$04x",$i);
$array = str_split($string);
if($array[0]!=$array[1] && $array[0]!=$array[2] && $array[0]!=$array[3] && $array[1]!=$array[2] && $array[1]!=$array[3] && $array[2]!=$array[3]){
sort($array);
$make=$array[0].$array[1].$array[2].$array[3];
if(!array_key_exists($make,$erg)){
$erg["$make"] = "1";
}
}
}
foreach($erg as $key => $value){
$teams = str_split($key);
$query = "SELECT * FROM `Worms` WHERE `".$teams[0]."` = 0 AND `".$teams[1]."` = 0 AND `".$teams[2]."` = 0 AND `".$teams[3]."` = 0 LIMIT 1";
$res = $mysqli->query($query);
if($daten = $res->fetch_array()){
$Spieltag = $daten['Spieltag'];
$highest = 0;
foreach($daten as $dname => $dvalue){
if($dname != 'Spieltag' && $dvalue > $highest){
$highest = $dvalue;
}
}
$highest++;
$query="UPDATE `Worms` SET `".$teams[0]."` = '".$highest."',`".$teams[1]."` = '".$highest."',`".$teams[2]."` = '".$highest."',`".$teams[3]."` = '".$highest."' WHERE `Spieltag` = '".$Spieltag."'";
$mysqli->query($query);
} else {
$query="INSERT INTO `Worms` (`".$teams[0]."`,`".$teams[1]."`,`".$teams[2]."`,`".$teams[3]."`) VALUES (1,1,1,1)";
$mysqli->query($query);
$Spieltag = $mysqli->insert_id;
}
echo $key.' hat Spieltag '.$Spieltag.'<br>';
}
?>
Bearbeitet am 2. Dezember 2021 19:03 Uhr von MBGucky:
Zwischenstand:
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
<?php
include('inc/db.inc'😉;
$erg = ;
for($i=0x123;$i<=0xcdef;$i++){
$string = sprintf("%1$04x",$i);
$array = str_split($string);
if($array[0]!=$array[1] && $array[0]!=$array[2] && $array[0]!=$array[3] && $array[1]!=$array[2] && $array[1]!=$array[3] && $array[2]!=$array[3]){
sort($array);
$make=$array[0].$array[1].$array[2].$array[3];
if(!array_key_exists($make,$erg)){
$erg["$make"] = "1";
}
}
}
foreach($erg as $key => $value){
$teams = str_split($key);
$query = "SELECT * FROM `Worms` WHERE `".$teams[0]."` = 0 AND `".$teams[1]."` = 0 AND `".$teams[2]."` = 0 AND `".$teams[3]."` = 0 LIMIT 1";
$res = $mysqli->query($query);
if($daten = $res->fetch_array()){
$Spieltag = $daten['Spieltag'];
$highest = 0;
foreach($daten as $dname => $dvalue){
if($dname != 'Spieltag' && $dvalue > $highest){
$highest = $dvalue;
}
}
$highest++;
$query="UPDATE `Worms` SET `".$teams[0]."` = '".$highest."',`".$teams[1]."` = '".$highest."',`".$teams[2]."` = '".$highest."',`".$teams[3]."` = '".$highest."' WHERE `Spieltag` = '".$Spieltag."'";
$mysqli->query($query);
} else {
$query="INSERT INTO `Worms` (`".$teams[0]."`,`".$teams[1]."`,`".$teams[2]."`,`".$teams[3]."`) VALUES (1,1,1,1)";
$mysqli->query($query);
$Spieltag = $mysqli->insert_id;
}
echo $key.' hat Spieltag '.$Spieltag.'<br>';
}
?>
Bearbeitet am 2. Dezember 2021 19:03 Uhr von MBGucky:
Zwischenstand:
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
<?php
include('../inc/db.inc'😉;
$erg = ;
for($i=0x123;$i<=0xcdef;$i++){
$string = sprintf("%1$04x",$i);
$array = str_split($string);
if($array[0]!=$array[1] && $array[0]!=$array[2] && $array[0]!=$array[3] && $array[1]!=$array[2] && $array[1]!=$array[3] && $array[2]!=$array[3]){
sort($array);
$make=$array[0].$array[1].$array[2].$array[3];
if(!array_key_exists($make,$erg)){
$erg["$make"] = "1";
}
}
}
foreach($erg as $key => $value){
$teams = str_split($key);
$query = "SELECT * FROM `Worms` WHERE `".$teams[0]."` = 0 AND `".$teams[1]."` = 0 AND `".$teams[2]."` = 0 AND `".$teams[3]."` = 0 LIMIT 1";
$res = $mysqli->query($query);
if($daten = $res->fetch_array()){
$Spieltag = $daten['Spieltag'];
$highest = 0;
foreach($daten as $dname => $dvalue){
if($dname != 'Spieltag' && $dvalue > $highest){
$highest = $dvalue;
}
}
$highest++;
$query="UPDATE `Worms` SET `".$teams[0]."` = '".$highest."',`".$teams[1]."` = '".$highest."',`".$teams[2]."` = '".$highest."',`".$teams[3]."` = '".$highest."' WHERE `Spieltag` = '".$Spieltag."'";
$mysqli->query($query);
} else {
$query="INSERT INTO `Worms` (`".$teams[0]."`,`".$teams[1]."`,`".$teams[2]."`,`".$teams[3]."`) VALUES (1,1,1,1)";
$mysqli->query($query);
$Spieltag = $mysqli->insert_id;
}
echo $key.' hat Spieltag '.$Spieltag.'<br>';
}
?>
Bearbeitet am 2. Dezember 2021 19:03 Uhr von MBGucky:
Zwischenstand:
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
<?php
include('../inc/db.inc'😉;
$erg = ;
for($i=0x123;$i<=0xcdef;$i++){
$string = sprintf("%1$04x",$i);
$array = str_split($string);
if($array[0]!=$array[1] && $array[0]!=$array[2] && $array[0]!=$array[3] && $array[1]!=$array[2] && $array[1]!=$array[3] && $array[2]!=$array[3]){
sort($array);
$make=$array[0].$array[1].$array[2].$array[3];
if(!array_key_exists($make,$erg)){
$erg["$make"] = "1";
}
}
}
foreach($erg as $key => $value){
$teams = str_split($key);
$query = "SELECT * FROM `Worms` WHERE `".$teams[0]."` = 0 AND `".$teams[1]."` = 0 AND `".$teams[2]."` = 0 AND `".$teams[3]."` = 0 LIMIT 1";
$res = $mysqli->query($query);
if($daten = $res->fetch_array()){
$Spieltag = $daten['Spieltag'];
$highest = 0;
foreach($daten as $dname => $dvalue){
if($dname != 'Spieltag' && $dvalue > $highest){
$highest = $dvalue;
}
}
$highest++;
$query="UPDATE `Worms` SET `".$teams[0]."` = '".$highest."',`".$teams[1]."` = '".$highest."',`".$teams[2]."` = '".$highest."',`".$teams[3]."` = '".$highest."' WHERE `Spieltag` = '".$Spieltag."'";
$mysqli->query($query);
} else {
$query="INSERT INTO `Worms` (`".$teams[0]."`,`".$teams[1]."`,`".$teams[2]."`,`".$teams[3]."`) VALUES (1,1,1,1)";
$mysqli->query($query);
$Spieltag = $mysqli->insert_id;
}
echo $key.' hat Spieltag '.$Spieltag.'<br>';
}
?>
Bearbeitet am 2. Dezember 2021 19:02 Uhr von MBGucky:
Zwischenstand:
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Neuer Zwischenstand 02.12.2021:
Ich habe ein PHP-Script mit gerade einmal 40 Zeilen geschrieben, welches mir die Paarungen in eine DB schreibt. Herausgekommen sind 528 Spieltage.
Wer sich jetzt wundert, warum es nicht 1820 : 4 = 455 Spieltage sind: Es kommt leider irgendwann der Punkt, an dem man keine 4 Paarungen mehr zusammenbekommt bei denen alle Teams nur 1 Mal spielen müssen und auch alle Teams spielen. Das scheint für 73 Spieltage der Fall zu sein. Am Ende wird es dann sogar Spieltage geben, an denen nur 1 Spiel stattfindet.
Aber ich glaube, bei 455 Spieltagen werde ich da ohnehin nie ankommen =)
Wen es interessiert, hier der Code zum Einfügen der Paarungen in die bereits erstellte Tabelle (man könnte nun stattdessen ein CREATE TABLE IF NOT EXISTS einfügen oder eine Abfrage ob die Tabelle schon existiert und dann direkt mit die("gibts schon"😉; abbrechen. Aber meine Tabelle ist ja fertig)
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
include('../inc/db.inc'😉;
$erg = ;
for($i=0x123;$i<=0xcdef;$i++){
$string = sprintf("%1$04x",$i);
$array = str_split($string);
if($array[0]!=$array[1] && $array[0]!=$array[2] && $array[0]!=$array[3] && $array[1]!=$array[2] && $array[1]!=$array[3] && $array[2]!=$array[3]){
sort($array);
$make=$array[0].$array[1].$array[2].$array[3];
if(!array_key_exists($make,$erg)){
$erg["$make"] = "1";
}
}
}
foreach($erg as $key => $value){
$teams = str_split($key);
$query = "SELECT * FROM `Worms` WHERE `".$teams[0]."` = 0 AND `".$teams[1]."` = 0 AND `".$teams[2]."` = 0 AND `".$teams[3]."` = 0 LIMIT 1";
$res = $mysqli->query($query);
if($daten = $res->fetch_array()){
$Spieltag = $daten['Spieltag'];
$highest = 0;
foreach($daten as $dname => $dvalue){
if($dname != 'Spieltag' && $dvalue > $highest){
$highest = $dvalue;
}
}
$highest++;
$query="UPDATE `Worms` SET `".$teams[0]."` = '".$highest."',`".$teams[1]."` = '".$highest."',`".$teams[2]."` = '".$highest."',`".$teams[3]."` = '".$highest."' WHERE `Spieltag` = '".$Spieltag."'";
$mysqli->query($query);
} else {
$query="INSERT INTO `Worms` (`".$teams[0]."`,`".$teams[1]."`,`".$teams[2]."`,`".$teams[3]."`) VALUES (1,1,1,1)";
$mysqli->query($query);
$Spieltag = $mysqli->insert_id;
}
echo $key.' hat Spieltag '.$Spieltag.'<br>';
}
?>
Originaler Beitrag vom 1. Dezember 2021 21:50 Uhr von MBGucky:
Zwischenstand:
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Fortsetzung folgt =)
Ich hab mir ein wenig Zeit genommen und ein Script erstellt, welches die möglichen Paarungen auflistet. Der Einfachheit halber habe ich sie nicht A bis P genannt sondern 0 bis f, somit konnte ich mit Hexadezimalwerten arbeiten. Das ist immer eine feine Sache, wenn man von etwas genau 16 hat =)
Erstaunlicherweise habe ich ein Array mit 1820 möglichen Paarungen erzeugt.
Jetzt muss ich die nur noch in eine DB packen und immer 4 Paarungen rausbekommen bei denen keine Mannschaft 2 Spiele spielen muss.
Fortsetzung folgt =)