sn original
Mitglied
Danke schön****** Das werd ich direkt mal verinnerlichen
Zuletzt bearbeitet:
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
$matchSqls[] = "('{$spieltag}','{$saisonid}','{$ligaid}','{$hteam}','{$ateam}')"; // Hinrunde
$spieltag2 = $spieltag + 7;
$matchSqls2[] = "('{$spieltag2}','{$saisonid}','{$ligaid}','{$ateam}','{$hteam}')"; // Rückrunde
/**
* Funktion um den Cach-Wert eines Matches zu generieren
* @param $hteam String Name des Heimteams
* @param $ateam String Name des Auswertsteams
* @return String Cach-Wert team###team
*/
function createMatchCachEntry($hteam,$ateam){
return MIN($hteam,$ateam).'###'.MAX($ateam,$hteam);
}
//Settings
$saisonid = 1;
$ligaid = 1;
$anzSpielTage = 3;
$anzSpielePerTag = 4;
//Array mit allen Teams erstellen
$sql = "select * from team where ligaid = {$ligaid}";
$result = mysql_query($sql);
while($team = mysql_fetch_array($result)){
$teams[] = $team['vereinsname'];
}
//Cach für alle Matches, damit kein Match 2 mal vorkommt
$cachMatches = array();
//Jeden Spieltag durchgehen
for($spieltag = 1; $spieltag <= $anzSpielTage; $spieltag++){
//Teams neu mischen
shuffle($teams);
//Eine Kopie der Teams anlegen (array_shift() nimmt jeweils ein Eintrag aus dem Array heraus,
//ergo die Kopie wird immer kleiner
$teamsCopy = $teams;
//$anzSpielePerTag oder weniger Spiele (wenn zu wenig Manschaften vorhanden sind) aussuchen
for($i=0; $i < min($anzSpielePerTag, floor(count($teams)/2)); $i++){
//Schleife ohne Bedinung starten
do{
$hteam = array_shift($teamsCopy);
$ateam = array_shift($teamsCopy);
//Falls der Match bereits im Cach ist...
if(in_array(createMatchCachEntry($hteam,$ateam), $cachMatches)){
//.. die 2 Teams wieder zurückgeben und alles kräftig schütteln
array_push($teamsCopy, $hteam, $ateam);
shuffle($teams);
}else{
//Wenn der Match noch nicht im Cach ist
//Schleife verlassen
break;
}
} while(0);
//Den Match fürs SQL vorbereiten
$matchSqls[] = "('{$spieltag}','{$saisonid}','{$ligaid}','{$hteam}','{$ateam}')";
//Den Match in den Cach laden
$cachMatches[] = createMatchCachEntry($hteam,$ateam);
}
}
//Die Matches mit einem einzigen DB-Zugriff eintragen
$sql = "INSERT INTO spieltage ('spieltag','saisonid','ligaid','hteam','ateam') VALUES ".implode(',', $matchSqls);
mysql_query($sql);
Fehler: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''spieltag','saisonid','ligaid','hteam','ateam') VALUES ('1','1','1','Hamburger S' at line 1
INSERT INTO spieltage ('spieltag','saisonid','ligaid','hteam','ateam') VALUES ('1','1','1','Eintracht Frankfurt','Schalke 04'),('1','1','1','SV Werder Bremen','VFL Wolfsburg'),('1','1','1','Bayer 04 Leverkusen','Hamburger SV'),('1','1','1','VfB Stuttgart','Bayern München'),('2','1','1','Schalke 04','VFL Wolfsburg'),('2','1','1','SV Werder Bremen','VfB Stuttgart'),('2','1','1','Bayer 04 Leverkusen','Eintracht Frankfurt'),('2','1','1','Bayern München','Hamburger SV'),('3','1','1','Schalke 04','Bayern München'),('3','1','1','VfB Stuttgart','Eintracht Frankfurt'),('3','1','1','Bayer 04 Leverkusen','Hamburger SV'),('3','1','1','SV Werder Bremen','VFL Wolfsburg'),('4','1','1','Eintracht Frankfurt','VfB Stuttgart'),('4','1','1','Hamburger SV','SV Werder Bremen'),('4','1','1','Bayer 04 Leverkusen','Schalke 04'),('4','1','1','Bayern München','VFL Wolfsburg'),('5','1','1','Bayer 04 Leverkusen','Hamburger SV'),('5','1','1','Bayern München','Schalke 04'),('5','1','1','Eintracht Frankfurt','VFL Wolfsburg'),('5','1','1','SV Werder Bremen','VfB Stuttgart'),('6','1','1','Eintracht Frankfurt','VFL Wolfsburg'),('6','1','1','VfB Stuttgart','Bayer 04 Leverkusen'),('6','1','1','Schalke 04','SV Werder Bremen'),('6','1','1','Hamburger SV','Bayern München'),('7','1','1','Bayer 04 Leverkusen','VFL Wolfsburg'),('7','1','1','VfB Stuttgart','SV Werder Bremen'),('7','1','1','Hamburger SV','Schalke 04'),('7','1','1','Eintracht Frankfurt','Bayern München')
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''spieltag','saisonid','ligaid','hteam','ateam') VALUES (1,1,1,'VFL Wol' at line 1