Bundesliga Ergebnisse

Ich glaube mit der Syntax passt irgendetwas nicht. Ich bastele mal einwenig und poste es dir dann wieder hierein.

Kannste auch haben =D

Hey,

das ist ein cooles Script, gibt es schon was neues dazu, dass es auch während des Spieltagses aktualisiert werden kann?

Von meiner Seite nicht, hab damit nicht mehr weiter gearbeitet…

Kannst du mir sagen, woran es liegt das es immer erst am Ende des Spieltages die Daten sich holt?

Kann es sein, dass die Quelle es dann erst aktualisiert !?
Darauf würde ich schließen bei einem kurzen Blick auf das Script …

…aus dem Skript ist das m.E. nicht herauszulesen…es hängt doch vielmehr davon ab, wie oft Du es antriggerst…

Joachim

Ich kam wegen Antwort #5 drauf. Und auf die Antwort es öfters zu triggern wäre cut doch bestimmt gekommen …
Daher die Vermutung / Idee das es vielleicht nicht früher bereit gestellt wird ?!

Puh, ehrlich gesagt weiß ich es auch nicht mehr genau… Ich glaub ich musste erst ne Abfrage machen ob alle Spiele gespielt sind da er mir sonst nur Fehler ausgespuckt hat, weil die Einträge noch nicht generiert waren.

Was ich auf jeden Fall weiß ist das ich vor dem Problem ne ganze Zeit stand und dann mangels Programmierkenntnissen aufgegeben habe :slight_smile:

Genau grad nochmal rüber geguckt…

Weiß grade nicht welche Zeile aber:

if ($response4->GetMatchdataByGroupLeagueSaisonResult->Matchdata[8]->matchIsFinished == true)

Egal wie oft man es während eines Spieltages es man aufruft, das wird erst dann angezeigt wenn alles Spiel fertig sind. Die Quelle liefert immer die aktuellen Daten.

Werde die Sache mal ausprobieren und das dann hier veröffentlichen wenn einer das gerne haben möchte?

Moin,

hab das jetzt auch bei mir implementiert, läuft grundsätzlich auch gut, nur die Grafik macht Probleme.

habe die Version mit den verschiedenen Farben pro Zeile genommen. (die Tabelle funzt einwandfrei) nur der Spielplan macht undefinierte Zeilenumbrüche.

Wie in Bild 1 zu sehen:

In Bild 2 zu sehen, wenn ich die normale Version nehme, geht das soweit, möchte allerdings schon die schönere Variante haben. interessant ist auch, wenn ich die schönere Variante nehme werden meine Favoriten Vereine in der Tabelle mit einer extra Farbauswahl angezeigt, sobald ich die normale Version ausführe, verschwinden diese in der Tabelle, obwohl die beiden ja nicht mit einander zu tun haben, sind 2 unterschiedliche eigene Scripte?!

in Bild 3 habe ich noch einmal versucht, das script einfach in eine Datei (index.php) gepackt im browser zu öffnen, da geht sie, nur mit IPS geht es nicht??
bild_3.PNG

hier dann auch nochmal das script (schönere Version):

<?
// Einstellungen
$vn	= 'Bayern München';     // Hier den Lieblingsverein angeben, dieser wird hervorgehoben
$lsc	= 'bl1';						// Den Ligashortcut eingeben. Für die Erste Bundesliga bl1.
$ls	= '2013';               // Das Jahr der Saison angeben, bei 2010/2011 -> 2010
$spt	= 0;                    // Zur manuellen Anzeige des "aktuellen Spieltags". Bei 0 dynamische Anzeige!

// Ich bin ein XML-Webservice auf dem ganz viele Fußballdaten liegen
$location = 'http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL';

// paar Einstellungen, beachte mich erstmal nicht
$options = array('encoding'           => 'iso-8859-1',
                 'connection_timeout' => 5,
                 'exceptions'         => 1,
                 );

// Seifenanhänger
$client = new SoapClient($location, $options);

// Welcher Spieltag is denn nun aktuell?
$params		= array('leagueShortcut' => ''.$lsc.'');
$response	= $client->GetCurrentGroupOrderID($params);
$sptd			= $response->GetCurrentGroupOrderIDResult;

// Übergabe-Array an OpdenLigaDB
if ($spt == 0)
	{
	$params2 = array('groupOrderID' => ''.$sptd.'', 'leagueShortcut' => ''.$lsc.'', 'leagueSaison' => ''.$ls.'');
	}
else
	{
	$params2 = array('groupOrderID' => ''.$spt.'', 'leagueShortcut' => ''.$lsc.'', 'leagueSaison' => ''.$ls.'');
	}

// und das hier bekommen wir zurück
$response2 = $client->GetMatchdataByGroupLeagueSaison($params2);

// Bischen HTML und CSS
$Bundesligaergebnisse   = "";
$Bundesligaergebnisse	= $Bundesligaergebnisse.'<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'<style type="text/css">';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'body { background-color: #27292b; color: #fff; font: normal 14px verdana;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.high { max-height:38px;  background-color: #3c4b60;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.high1 { max-height:38px;  background-color: #3c4b60; background-image: url(./img/Bundesliga/barTopTop.png); background-repeat: repeat-x;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.high2 { max-height:38px;  background-color: #3c4b60; background-image: url(./img/Bundesliga/barBottomBottom.png); background-repeat: repeat-x;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.fav { max-height:38px; background-color: #ced2d7; background-image: url(./img/bgActionBar.png); background-repeat: repeat-x;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.row1 { max-height:38px; background-color: #9da5af;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.row2 { max-height:38px; background-color: #3c4b60;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.rw { background-color: #3c4b60; display:none; line-height: 38px;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.mainTab { border-collapse:collapse; border:1px solid #000000; margin:1px;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.table { padding:5px;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.headLine { font-size: small; font-weight: bold;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.itemBig { font-size: x-small;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.itemBiggr { font-size: small;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.itemBiggr2 { font-size: small; font-weight: bold;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'.itemSmall { font-size: xx-small;}';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'</style>';

// Zeigt den aktuellen Spieltag an
$Bundesligaergebnisse	= $Bundesligaergebnisse.'<table class="mainTab">';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'<tr class="rw">';
$Bundesligaergebnisse	= $Bundesligaergebnisse.'<tr>';
if ($spt == 0)
	{
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<caption class="headLine">'.$response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata[0]->leagueName.' - '.$sptd.'. Spieltag</caption>';
	}
else
	{
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<caption class="headLine">'.$response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata[0]->leagueName.' - '.$spt.'. Spieltag</caption>';
	}
$Bundesligaergebnisse	= $Bundesligaergebnisse.'</tr>';

// Paar Varibablen zur Farbspielerei
$i = 0;
$col1 = "row1";
$col2 = "row2";

// Damit er mit der richtigen Farbe startet
$color = $col1;

// los mach dich nackig! Nehmen wir dich mal auseinander!
foreach ($response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata as $md)
	{
	// 1 und 2 und 3 und ...
   $i++;

	// Es lebe die Vielfalt der Zeitformate
	$unidate = strtotime("$md->matchDateTime");
	$date = date("d.m.Y - H:i", $unidate);
	$tag = date("w", $unidate);
	if ($tag=="0"){$tagde="Sonntag";}
	if ($tag=="1"){$tagde="Montag";}
	if ($tag=="2"){$tagde="Dienstag";}
	if ($tag=="3"){$tagde="Mittwoch";}
	if ($tag=="4"){$tagde="Donnerstag";}
	if ($tag=="5"){$tagde="Freitag";}
	if ($tag=="6"){$tagde="Samstag";}

	// Nur zur besseren Übersicht, könnte auch direkt abgefragt werden
	$pic1 = $md->iconUrlTeam1;
   $team1 = $md->nameTeam1;
	$points1 = $md->pointsTeam1;
   $pic2 = $md->iconUrlTeam2;
   $team2 = $md->nameTeam2;
   $points2 = $md->pointsTeam2;

   // zur Vermeidung von Fehlermeldungen muss ich sicher gehen das dort Werte eingetragen sind
   if ($md->matchIsFinished == true)
		{
   	$half1 = $md->matchResults->matchResult[1]->pointsTeam1;
   	$half2 = $md->matchResults->matchResult[1]->pointsTeam2;
		}

// Fangen wir doch mal an den dynamischen Teil auszugeben...
// die 2te bis 8te Zeile werden im Wechsel verschiedenfarbig angezeigt
	for($num=2; $num < 7; $num++)
		{
		$color = ($color == $col1) ? $col2 : $col1;
		$Bundesligaergebnisse	= $Bundesligaergebnisse.'<tr class="'.$color.'">';
		}

	if	($i == 1)				// Die erste Zeile bekommt nen Bild und ne feste Farbe
		{
		$Bundesligaergebnisse	= $Bundesligaergebnisse.'<tr class="high1">';
		}
	elseif ($i == 9)			// Die letzte Zeile bekommt nen anderes Bild und ne feste Farbe
		{
		$Bundesligaergebnisse	= $Bundesligaergebnisse.'<tr class="high2">';
		}
		
	// Hier gehts dann weiter mit der eigentlichen Tabelle
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<td class=table>';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<nobr>';
	// Dies einfügen um eigene Vereinslogos zu benutzen, die 2te Zeile dementsprechend dann auskommentieren // 1.tes Logo
	//echo '		<img src="./img/liga/'.$team1.'.png"> </td>';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<img src="'.$pic1.'"> ';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'</td>';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<td class="table">';
	// Falls das Spiel noch aussteht zeig ich dir nen Bindestrich
	if ($points1 == -1 or $points2 == -1)
		{
		$Bundesligaergebnisse	= $Bundesligaergebnisse.'<div class="itemBig" align="center">- : -</div>';
		}
	else
		{
		$Bundesligaergebnisse	= $Bundesligaergebnisse.'<div class="itemBig" align="center">'.$points1.' : '.$points2.'</div>';
		}

	// Wenn das Spiel fertig ist zeig ich dir auch noch Halbzeitresultate
	if ($md->matchIsFinished == true)
		{
		$Bundesligaergebnisse	= $Bundesligaergebnisse.'<div class="itemSmall" align="center">('.$half1.' : '.$half2.')</div>';
		}

	$Bundesligaergebnisse	= $Bundesligaergebnisse.'</td>';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<td class="table">';

	// Dies einfügen um eigene Vereinslogos zu benutzen, die 2te Zeile dementsprechend dann auskommentieren // 2.tes Logo
	// echo '		<img src="./img/liga/'.$team2.'.png"> </td>';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<img src="'.$pic2.'">';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'</td>';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<td class="table">';
//	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<div class="itemBig"> '.$tagde.', '.$date.'</div>';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'<div class="itemBig"> '.$tagde.', '.$date.'</div>';

	// Lieblingsverein wird hervorgehoben
	if ($team1 == $vn or $team2 == $vn)
		{
		$Bundesligaergebnisse	= $Bundesligaergebnisse.'<div class="itemBiggr2"> '.$team1.' - '.$team2.'</div>';
		}
	else
		{
		$Bundesligaergebnisse	= $Bundesligaergebnisse.'<div class="itemBiggr"> '.$team1.' - '.$team2.'</div>';
		}
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'</td>';
	$Bundesligaergebnisse	= $Bundesligaergebnisse.'</tr>';

	// Hier ist die dynamische Ausgabe der Tabelle zuende
	}

$Bundesligaergebnisse	= $Bundesligaergebnisse.'</table>';

SetValueString(28813 /*[Bundesliga	est\Bundesliga Spieltag]*/   , $Bundesligaergebnisse);

?>

Hoffe, es kann mir jemand dabei helfen?

Danke und Grüße
Björn

Moin,

kann da keiner zu helfen??

Gruß Björn

Hallo zusammen,

was ich hier immer wieder gut finde, ist, dass wenn man irgendwas bauen kann, hier bereits eine Lösung findet.

Also habe ich das Skript dann auch mal angepasst.

Die Idee mit dem Schreiben in eine Variable finde ich praktisch, nur wollte ich Tabelle und Ergebnisse in einer Variablen haben. Außerdem hab ich die Formatierung nochmals angepasst, damit es auch wieder schön aussieht.

Letztlich habe ich noch einen Timer eingebaut für das nächste Spiel.

So sieht das dann aus:

Und hier das Skript:


<?
// Einstellungen
$vn    = 'FC Schalke 04';     // Hier den Lieblingsverein angeben, dieser wird hervorgehoben
$lsc    = 'bl1';                        // Den Ligashortcut eingeben. Für die Erste Bundesliga bl1.
$ls    = date ("Y");               // Das Jahr der Saison angeben, aktuelles Jahr
$spt    = 0;                    // Zur manuellen Anzeige des "aktuellen Spieltags". Bei 0 dynamische Anzeige!

$resultHtmlId = 45828;         // String Variuable, Profil HtmlBox
$resultScriptId = 32562;         // Script Id welches gestartet werden soll
$resultScriptoffset = 30;			// Wieviel Minuten vorher

// Für Januar bis Juni fängt die Saison im Vorjahr an
if (date("m") <= 6) {
	$ls = $ls -1;
}


// Ich bin ein XML-Webservice auf dem ganz viele Fußballdaten liegen
$location = 'http://www.OpenLigaDB.de/Webservices/Sportsdata.asmx?WSDL';

// paar Einstellungen, beachte mich erstmal nicht
$options = array('encoding'           => 'iso-8859-1',
                 'connection_timeout' => 5,
                 'exceptions'         => 1,
                 );

// Seifenanhänger
$client = new SoapClient($location, $options);

// Welcher Spieltag is denn nun aktuell?
$params        = array('leagueShortcut' => ''.$lsc.'');
$response    = $client->GetCurrentGroupOrderID($params);
$sptd            = $response->GetCurrentGroupOrderIDResult;

// Übergabe-Array an OpdenLigaDB
if ($spt == 0)
    {
    $params2 = array('groupOrderID' => ''.$sptd.'', 'leagueShortcut' => ''.$lsc.'', 'leagueSaison' => ''.$ls.'');
    }
else
    {
    $params2 = array('groupOrderID' => ''.$spt.'', 'leagueShortcut' => ''.$lsc.'', 'leagueSaison' => ''.$ls.'');
    }

// und das hier bekommen wir zurück
$response2 = $client->GetMatchdataByGroupLeagueSaison($params2);

// Bischen HTML und CSS
$Bundesligaergebnisse   = "";
$Bundesligaergebnisse    = $Bundesligaergebnisse.'<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'<style type="text/css">';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'body { background-color: #27292b; color: #fff; font: normal 14px verdana;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.high { max-height:38px;  background-color: #3c4b60;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.high1 { max-height:38px;  background-color: #3c4b60; background-image: url(./img/Bundesliga/barTopTop.png); background-repeat: repeat-x;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.high2 { max-height:38px;  background-color: #3c4b60; background-image: url(./img/Bundesliga/barBottomBottom.png); background-repeat: repeat-x;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.fav { max-height:38px; background-color: #ced2d7; background-image: url(./img/bgActionBar.png); background-repeat: repeat-x;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.row1 { max-height:38px; background-color: #9da5af;width:100%;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.row2 { max-height:38px; background-color: #3c4b60;width:100%;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.rw { background-color: #3c4b60; display:none; line-height: 38px;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.mainTab { border-collapse:collapse; border:1px solid #000000; margin:1px;width:100%; }';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.mainTag { border-collapse:collapse; border:1px solid #000000; margin:1px;width:100%; }';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.envelopeTab { border-collapse:collapse; border:1px solid #000000; margin:1px;width:90%; }';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.envelopeRow { valign:top; vertical-align:top;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.table { padding:5px;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.headLine { font-size: small; font-weight: bold;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.itemBig { font-size: x-small;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.itemBiggr { font-size: small;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.itemBiggr2 { font-size: small; font-weight: bold;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'.itemSmall { font-size: xx-small;}';
$Bundesligaergebnisse    = $Bundesligaergebnisse.'</style>';


// Platz für Tabelle und Spieltag
$Bundesligaergebnisse = $Bundesligaergebnisse.'<table class="envelopeTab">';
$Bundesligaergebnisse   = $Bundesligaergebnisse.'<tr class="envelopeRow">';
$Bundesligaergebnisse   = $Bundesligaergebnisse.'<td>';


// Zeigt den aktuellen Spieltag an
$Bundesligaergebnisse = $Bundesligaergebnisse. '<table class="mainTag">';
$Bundesligaergebnisse = $Bundesligaergebnisse. '<tr class="rw">';
if ($spt == 0){
$Bundesligaergebnisse = $Bundesligaergebnisse. '<caption class="headLine">'.$response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata[0]->leagueName.' - '.$sptd.'. Spieltag</caption>';}
else {
$Bundesligaergebnisse = $Bundesligaergebnisse. '<caption class="headLine">'.$response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata[0]->leagueName.' - '.$spt.'. Spieltag</caption>';}
$Bundesligaergebnisse = $Bundesligaergebnisse. '</tr>';

// Paar Varibablen zur Farbspielerei
$i = 0;
$col1 = "row1";
$col2 = "row2";

// Damit er mit der richtigen Farbe startet
$color = $col1;

// los mach dich nackig! Nehmen wir dich mal auseinander!
foreach ($response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata as $md)
{
	// 1 und 2 und 3 und ...
   $i++;

	// Es lebe die Vielfalt der Zeitformate :(
	$unidate = strtotime("$md->matchDateTime");
	$date = date("d.m.Y - H:i", $unidate);
	$tag = date("w", $unidate);
	if ($tag=="0"){
		$tagde="Sonntag";}
	if ($tag=="1"){
		$tagde="Montag";}
	if ($tag=="2"){
		$tagde="Dienstag";}
	if ($tag=="3"){
		$tagde="Mittwoch";}
	if ($tag=="4"){
		$tagde="Donnerstag";}
	if ($tag=="5"){
		$tagde="Freitag";}
	if ($tag=="6"){
		$tagde="Samstag";}

	// Nur zur besseren Übersicht, könnte auch direkt abgefragt werden
	$pic1 = $md->iconUrlTeam1;
   $team1 = $md->nameTeam1;
	$points1 = $md->pointsTeam1;
   $pic2 = $md->iconUrlTeam2;
   $team2 = $md->nameTeam2;
   $points2 = $md->pointsTeam2;

   // zur Vermeidung von Fehlermeldungen muss ich sicher gehen das dort Werte eingetragen sind
   if ($md->matchIsFinished == true) {
   		$half1 = $md->matchResults->matchResult[1]->pointsTeam1;
   		$half2 = $md->matchResults->matchResult[1]->pointsTeam2;}

// Fangen wir doch mal an den dynamischen Teil auszugeben...
// die 2te bis 8te Zeile werden im Wechsel verschiedenfarbig angezeigt
for($num=2; $num < 7; $num++){
		$color = ($color == $col1) ? $col2 : $col1;
		$Bundesligaergebnisse = $Bundesligaergebnisse. '<tr class="'.$color.'">';}
// Die erste Zeile bekommt nen Bild und ne feste Farbe
if	($i == 1){
		$Bundesligaergebnisse = $Bundesligaergebnisse. '<tr class="high1">';}
// Die letzte Zeile bekommt nen anderes Bild und ne feste Farbe
elseif ($i == 9) {
		$Bundesligaergebnisse = $Bundesligaergebnisse. '<tr class="high2">';}
// Hier gehts dann weiter mit der eigentlichen Tabelle
$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class=table>';
// Dies einfügen um eigene Vereinslogos zu benutzen, die 2te Zeile dementsprechend dann auskommentieren
//$Bundesligaergebnisse = $Bundesligaergebnisse. '		<img src="./img/liga/'.$team1.'.png"> </td>';
$Bundesligaergebnisse = $Bundesligaergebnisse. '		<img src="'.$pic1.'">';
$Bundesligaergebnisse = $Bundesligaergebnisse. '	</td>';
$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td>';
// Falls das Spiel noch aussteht zeig ich dir nen Bindestrich
if ($points1 == -1 or $points2 == -1){
$Bundesligaergebnisse = $Bundesligaergebnisse. '		<div class="itemBig" align="center">- : -</div>';}
else {
$Bundesligaergebnisse = $Bundesligaergebnisse. '		<div class="itemBig" align="center">'.$points1.' : '.$points2.'</div>';}
// Wenn das Spiel fertig ist zeig ich dir auch noch Halbzeitresultate
if ($md->matchIsFinished == true) {
$Bundesligaergebnisse = $Bundesligaergebnisse. '		<div class="itemSmall" align="center">('.$half1.' : '.$half2.')</div>';}
$Bundesligaergebnisse = $Bundesligaergebnisse. '	</td>';
$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td>';
// Dies einfügen um eigene Vereinslogos zu benutzen, die 2te Zeile dementsprechend dann auskommentieren
//$Bundesligaergebnisse = $Bundesligaergebnisse. '		<img src="./img/liga/'.$team2.'.png"> </td>';
$Bundesligaergebnisse = $Bundesligaergebnisse. '		<img src="'.$pic2.'">';
$Bundesligaergebnisse = $Bundesligaergebnisse. '	</td>';
$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td>';
$Bundesligaergebnisse = $Bundesligaergebnisse. '		<div class="itemBig"> '.$tagde.', '.$date.'</div>';
// Lieblingsverein wird hervorgehoben
if ($team1 == $vn or $team2 == $vn){
$Bundesligaergebnisse = $Bundesligaergebnisse. '		<div class="itemBiggr2"> '.$team1.' - '.$team2.'</div>';
$naechstesSpiel = $date;
}
else {
$Bundesligaergebnisse = $Bundesligaergebnisse. '		<div class="itemBiggr"> '.$team1.' - '.$team2.'</div>';}
$Bundesligaergebnisse = $Bundesligaergebnisse. '	</td>';
$Bundesligaergebnisse = $Bundesligaergebnisse. '</tr>';
// Hier ist die dynamische Ausgabe der Tabelle zuende
}
$Bundesligaergebnisse = $Bundesligaergebnisse. '</table>';
// soll es das gewesen sein?

$Bundesligaergebnisse = $Bundesligaergebnisse."<br/><br/>";
$Bundesligaergebnisse = $Bundesligaergebnisse."nächstes Spiel: ";
$Bundesligaergebnisse = $Bundesligaergebnisse.$naechstesSpiel;
$Bundesligaergebnisse   = $Bundesligaergebnisse.'</td>';


// und ab hier nun die Tabelle
$Bundesligaergebnisse   = $Bundesligaergebnisse.'<td>';

// Welchen Spieltag haben wir gerade?
$client = new SoapClient($location, $options);
$params = array('leagueShortcut' => ''.$lsc.'');
$response = $client->GetCurrentGroupOrderID($params);
$sptdt = $response->GetCurrentGroupOrderIDResult;

// Starten wir mal die anfrage, um Daten zu sammeln
$params4 = array('groupOrderID' => ''.$sptdt.'', 'leagueShortcut' => ''.$lsc.'', 'leagueSaison' => ''.$ls.'');
$response4 = $client->GetMatchdataByGroupLeagueSaison($params4);
if ($response4->GetMatchdataByGroupLeagueSaisonResult->Matchdata[8]->matchIsFinished == true)
	{
	$i = 0;
	while ($i <= $sptdt)
		{
		$i++;
		$sp = $sptdt;
		$params2 = array('groupOrderID' => ''.$i.'', 'leagueShortcut' => ''.$lsc.'', 'leagueSaison' => ''.$ls.'');
		$response2 = $client->GetMatchdataByGroupLeagueSaison($params2);
   	foreach ($response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata as $tm)
			{
			if ($tm->pointsTeam1 > $tm->pointsTeam2)
				{
				$win = 1;
				$win2 = 0;
				$lost = 0;
				$lost2 = 1;
				$draw = 0;
				}
				elseif ($tm->pointsTeam1 == $tm->pointsTeam2)
					{
    				$draw = 1;
    				$win = 0;
    				$win2 = 0;
    				$lost = 0;
    				$lost2 = 0;
					}
					else
						{
    					$win = 0;
    					$win2 = 1;
    					$lost = 1;
    					$lost2 = 0;
    					$draw = 0;
						}

						$t {$tm->idTeam1}{$i} = array(
							"Flag"=>"$tm->iconUrlTeam1",
							"Spielt"=>"$tm->groupOrderID",
							"Team"=>"$tm->nameTeam1",
   						"Tore"=>"$tm->pointsTeam1",
   						"gTore"=>"$tm->pointsTeam2",
   						"win"=>"$win",
   						"lost"=>"$lost",
   						"draw"=>"$draw");

						$t {$tm->idTeam2}{$i} = array(
							"Flag"=>"$tm->iconUrlTeam2",
							"Spielt"=>"$tm->groupOrderID",
							"Team"=>"$tm->nameTeam2",
   						"Tore"=>"$tm->pointsTeam2",
   						"gTore"=>"$tm->pointsTeam1",
   						"win"=>"$win2",
   						"lost"=>"$lost2",
   						"draw"=>"$draw");
			}
		}
	}
	else
		{
		$p = 0;
		$sp = $sptdt - 1;
		while ($p < $sp)
			{
			$p++;
			$params5 = array('groupOrderID' => ''.$p.'', 'leagueShortcut' => ''.$lsc.'', 'leagueSaison' => ''.$ls.'');
			$response5 = $client->GetMatchdataByGroupLeagueSaison($params5);
   		foreach ($response5->GetMatchdataByGroupLeagueSaisonResult->Matchdata as $tm)
				{
				if ($tm->pointsTeam1 > $tm->pointsTeam2)
					{
					$win = 1;
					$win2 = 0;
					$lost = 0;
					$lost2 = 1;
					$draw = 0;
					}
					elseif ($tm->pointsTeam1 == $tm->pointsTeam2)
						{
    					$draw = 1;
    					$win = 0;
    					$win2 = 0;
    					$lost = 0;
    					$lost2 = 0;
						}
						else
							{
    						$win = 0;
    						$win2 = 1;
    						$lost = 1;
    						$lost2 = 0;
    						$draw = 0;
							}

							$t {$tm->idTeam1}{$p} = array(
								"Flag"=>"$tm->iconUrlTeam1",
								"Spt"=>"$tm->groupOrderID",
								"Team"=>"$tm->nameTeam1",
   							"Tore"=>"$tm->pointsTeam1",
   							"gTore"=>"$tm->pointsTeam2",
   							"win"=>"$win",
   							"lost"=>"$lost",
   							"draw"=>"$draw");

							$t {$tm->idTeam2}{$p} = array(
							   "Flag"=>"$tm->iconUrlTeam2",
								"Spt"=>"$tm->groupOrderID",
								"Team"=>"$tm->nameTeam2",
   							"Tore"=>"$tm->pointsTeam2",
   							"gTore"=>"$tm->pointsTeam1",
   							"win"=>"$win2",
   							"lost"=>"$lost2",
   							"draw"=>"$draw");
				}
			}
		}

$params6 = array('leagueShortcut' => ''.$lsc.'', 'leagueSaison' => ''.$ls.'');
$response6 = $client->GetTeamsByLeagueSaison($params6);
$f = 0;

foreach ($response6->GetTeamsByLeagueSaisonResult->Team as $tms)
	{
	$f++;
	$wi = 0;
	$lo = 0;
	$dr = 0;
	$tr = 0;
	$gtr = 0;
	for($count = 1; $count <= $sp; $count++)
		{
    	$count;
    	// Siege zusammzählen
    	${'wi'.$count} = $t[$tms->teamID][$count]['win'];
    	$wi += ${'wi'.$count};
    	// Niederlagen zusammenzählen
    	${'lo'.$count} = $t[$tms->teamID][$count]['lost'];
    	$lo += ${'lo'.$count};
		// Unendschieden zusammenzählen
		${'dr'.$count} = $t[$tms->teamID][$count]['draw'];
    	$dr += ${'dr'.$count};
		// Tore zusammenzählen
    	${'tr'.$count} = $t[$tms->teamID][$count]['Tore'];
    	$tr += ${'tr'.$count};
    	// Gegentore zusammenzählen
    	${'gtr'.$count} = $t[$tms->teamID][$count]['gTore'];
    	$gtr += ${'gtr'.$count};
  		}
	// Tordifferenz berechnen
	$td = $tr-$gtr;
	//Punkte zusammenrechnen
	$pt = $wi*3+$dr*1;
	$sp = $wi+$dr+$lo;

	$fl = $t[$tms->teamID]['1']['Flag'];
	$te = $t[$tms->teamID]['1']['Team'];

	$erg{$f} = array(
		"Flag"=>"$fl",
		"Team"=>"$te",
		"Punkte"=>"$pt",
   	"Spiele"=>"$sp",
   	"TD"=>"$td",
   	"Tore"=>"$tr",
   	"gTore"=>"$gtr",
   	"win"=>"$wi",
   	"lost"=>"$dr",
   	"draw"=>"$lo");
		}

		foreach ($erg as $nr => $inhalt)
			{
    		$Punkte[$nr]	= $inhalt['Punkte'] ;
    		$Spiele[$nr]	= $inhalt['Spiele'] ;
   		$TorD[$nr]		= $inhalt['TD'] ;
   		$Tor[$nr]      = $inhalt['Tore'] ;
			}

	// Hier geht die Tabelle los
   $Bundesligaergebnisse = $Bundesligaergebnisse. '<table class="mainTab">';
   $Bundesligaergebnisse = $Bundesligaergebnisse. '<tr class="rw">';
   $Bundesligaergebnisse = $Bundesligaergebnisse. '<caption class="headLine">Live-Tabelle</caption>';
   $Bundesligaergebnisse = $Bundesligaergebnisse. '</tr>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '<tr class="high1">';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr" align="center"> Pos. </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr"> </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr"> Club</td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr" align="center"> Pkt. </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr" align="center"> Sp. </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr" align="center"> TD </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr" align="center"> Tore </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr" align="center"> S </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr" align="center"> N </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBiggr" align="center"> U </td>';
	$Bundesligaergebnisse = $Bundesligaergebnisse. '</tr>';

	// Paar Varibablen zur Farbspielerei
	$col3 = "row2";
	$col4 = "row1";

	// Damit er mit der richtigen Farbe startet
	$color = $col3;

	// Sortieren wir mal alles vernünftig
   array_multisort($Punkte, SORT_DESC, $Spiele, SORT_DESC, $TorD, SORT_DESC, $Tor, SORT_DESC, $erg);
	$g = 0;
	foreach ($erg as $tab)
		{
		// Hier starten wir die dynamische Tabellenausgabe
		$g++;
		// die 1te bis 17te Zeile werden im Wechsel verschiedenfarbig angezeigt
		for($num=1; $num < 18; $num++){
		$color = ($color == $col3) ? $col4 : $col3;
		$Bundesligaergebnisse = $Bundesligaergebnisse. '<tr class="'.$color.'">';}
		// Die 18. Zeile bekommt nen Bild und ne feste Farbe
		if	($g == 18){
		$Bundesligaergebnisse = $Bundesligaergebnisse. '<tr class="high2">';}
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="Pos" align="center"> '.$g.' </td>';
		// Dies einfügen um eigene Vereinslogos zu benutzen, die 2te Zeile dementsprechend dann auskommentieren
		//$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBig" align="center"> <img src="./img/liga/'.$tab['Team'].'.png"> </td>';
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class ="itemBig align="center"> <img src="'.$tab['Flag'].'"> </td>';
		if ($tab['Team'] == $vn){
			$Bundesligaergebnisse = $Bundesligaergebnisse. '<td class="fav"> '.$tab['Team'].'</td>';}
		else {
			$Bundesligaergebnisse = $Bundesligaergebnisse. '<td class="itemBig"> '.$tab['Team'].'</td>';}
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBig" align="center"> '.$tab['Punkte'].' </td>';
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBig" align="center"> '.$tab['Spiele'].' </td>';
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBig" align="center"> '.$tab['TD'].' </td>';
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBig" align="center"> '.$tab['Tore'].' : '.$tab['gTore'].' </td>';
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBig" align="center"> '.$tab['win'].' </td>';
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBig" align="center"> '.$tab['draw'].' </td>';
		$Bundesligaergebnisse = $Bundesligaergebnisse. '	<td class="itemBig" align="center"> '.$tab['lost'].' </td>';
		$Bundesligaergebnisse = $Bundesligaergebnisse. '</tr>';
		}
		// Hier ist die dynamische Ausgabe der Tabelle zuende
		$Bundesligaergebnisse = $Bundesligaergebnisse. '</table>';



// Und nun alles schliessen
$Bundesligaergebnisse   = $Bundesligaergebnisse.'</td>';
$Bundesligaergebnisse   = $Bundesligaergebnisse.'</tr></table>';


SetValueString($resultHtmlId /*[Bundesliga	est\Bundesliga Spieltag]*/   , $Bundesligaergebnisse);

// Timer setzen ?
if ($resultScriptId <> "") {
	SetTimerByName($resultScriptId, "Bundesliga Spielbeginn", $naechstesSpiel, $resultScriptoffset);
}
//Debug
//echo $Bundesligaergebnisse;
function SetTimerByName($id, $name, $ts, $offset)
    {
        global $IPS_SELF;
        $eid = @IPS_GetEventIDByName($name, $id);
        if($eid === false)
        {
            $eid = IPS_CreateEvent(1);
            IPS_SetParent($eid, $id);
            IPS_SetName($eid, $name);
            IPS_SetInfo($eid, "this timer was created by script #$IPS_SELF");
            IPS_SetEventScript($eid, $id);
            IPS_SetEventActive($eid, true);
        }
        

        $dt = date_parse($ts);

        IPS_SetEventCyclic($eid, 1, 0, 0, 0, 0, 0);
        IPS_SetEventCyclicDateTo($eid, $dt["day"], $dt["month"], $dt["year"]);
        IPS_SetEventCyclicTimeBounds($eid, mktime($dt["hour"] , $dt["minute"], 0) - ($offset * 60),0);
        return $eid;
    }


?>

Moin Moin,

ich hab jetzt das Script von
Âmigowski :slight_smile: im Einsatz . Spieltag stimmt , die Tabelle ist aber falsch :frowning:

Hab ich was übersehen ?

Hallo!

Ich bekommen neuerdings immer an dieser Stelle eine Fehlermeldung:

echo '<caption class="headLine">'.$response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata[0]->leagueName.' - '.$sptd.'. Spieltag</caption>';}

Fatal error: Cannot use object of type stdClass as array in C:\IPS\IP-Symcon\scripts\12804.ips.php on line 53
Abort Processing during Fatal-Error: Cannot use object of type stdClass as array
Error in Script C:\IPS\IP-Symcon\scripts\12804.ips.php on Line 53

Was kann das sein? Egal welche Variante von Scripten ich aus diesen Beiträgen verwende.

Ich glaub da ist was mit der Schnittstelle bei OpenLiga faul…
Auch über dessen Testseite bekommt man nichts mehr angezeigt:

„No Data Available!“

Das war es wohl:

stdClass Object
(
[GetMatchdataByGroupLeagueSaisonResult] => stdClass Object
(
[Matchdata] => stdClass Object
(
[matchID] => -1
[matchDateTime] => 2015-03-10T20:42:44.9584278+01:00
[matchDateTimeUTC] => 0001-01-01T00:00:00
[groupID] => 0
[groupOrderID] => 0
[leagueID] => 0
[nameTeam1] => OpenLigaDB - OpenLigaDB - Communitybasierte Sportdaten per XML-Webservice
[nameTeam2] => Maximale Abfrageanzahl von 1000 Abfragen pro Tag erreicht! - https://plus.google.com/105834637802799309125/posts/LSPwcge5cV2
[idTeam1] => 0
[idTeam2] => 0
[pointsTeam1] => 0
[pointsTeam2] => 0
[lastUpdate] => 0001-01-01T00:00:00
[matchIsFinished] =>
[location] => stdClass Object
(
[locationID] => 0
)

                [NumberOfViewers] =&gt; 
            )

    )

)

Hab das auch hin und wieder…die scheinen das Abfrage-Limit dynamisch, je nach Auslastung bei denen, anzupassen. Denn an manchen Tagen wird mir der Fehler ausgeworfen und an anderen Tagen nicht… Einfach ein „return()“ einbauen, damit das Skript nicht in Fehler läuft, sondern „nur keine neuen Daten hat“.

Und ich Frage 90x/Tag ab, also weit entfernt von 500 oder 1000!

Edit: Wenn man nach dieser Zeile:

$response2 = $client->GetMatchdataByGroupLeagueSaison($params2);

Diese Zeilen einfügt:

$LimitCheckVar = $response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata->nameTeam2;
preg_match('|Maximale Abfrageanzahl von .* Abfragen pro Tag erreicht|', $LimitCheckVar, $matchAbfrageLimit);

if ($matchAbfrageLimit == true) {
	return;
}

…dann wird beim „Limit-Fehler“ das Skript sauber beendet und läuft nicht mehr in Fehler. Wer möchte kann sich da noch weiteren Kram einbauen mit Benachrichtigung oder wie auch immer, aber so wichtig war mir das nun auch wieder nicht :slight_smile:

Grüße,
Chris

Dann kommt eine Fehlermeldung:

Notice: Trying to get property of non-object in C:\IPS\IP-Symcon\webfront\user\Bundesliga\buli.begegnungen.php on line 34

In Line 34 steht:

$LimitCheckVar = $response2->GetMatchdataByGroupLeagueSaisonResult->Matchdata->nameTeam2;