headerphoto

Einbindung der XML Daten mit PHP

Jetzt ist es auch möglich, alle Daten (Ergebnisse, Tabelle, Vorschau und Spielplan) der Staffeln als XML zu verarbeiten. Eine kurze Anleitung und eine Demo-PHP-Datei haben wir euch vorbereitet.


Wo liegen die XML Daten?

Unter "https://vlw.it4sport.de/data/vbwb/aufsteiger/public/" liegen alle Daten für Ergebnisse, Tabelle, Vorschau und Spielplan je Saison, Bereich und Staffel.

Die xml-Dateien heissen:
ergebnis_"Saison"_"Staffel-ID".xml (neu mit result [incl. Ballpunkte])
tabelle_"Saison"_"Staffel-ID".xml
vorschau_"Saison"_"Staffel-ID".xml
spielplan_"Saison"_"Staffel-ID".xml (neu mit result [incl. Ballpunkte] und halle)

Also z.B. für die Landesliga Nord Herren, Saison 2015/2016:
ergebnis_2015_2.xml
tabelle_2015_2.xml
vorschau_2015_2.xml
spielplan_2015_2.xml



Wie binde ich diese ein ?
Unter folgender Adresse haben wir eine Beispieldatei erstellt (diese bezieht sich noch auf XML-Dateien unter vlw-online.de): 
www.vlw-online.de/xml/demo.php

Über folgenden Link kann man die benötigten PHP-Skripte herunterladen und anpassen:
www.vlw-online.de/xml/xml-demo.zip

Dieses Beispiel nutzt die PHP Funktion file(), welche nur bei der PHP-Einstellung allow_url_fopen auf on steht. Falls in Eurer PHP-Umgebung diese Einstellung nicht geändert werden kann, kann man als Alternative cURL nutzen (cURL muss dann auch zur Verfügung stehen!). cURL wird meist bei PHP5 Webpaketen angeboten.
Dafür muss man in der class.inc.php die Function fetchContent() anpassen und statt file() ...
 
$ch = curl_init($source);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // Neu wegen SSL-Zugriff
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // Neu wegen SSL-Zugriff

$xml_raw = curl_exec($ch); curl_close($ch);
$code = str_replace("\n", "", $xml_raw);

return $code;
einsetzen.

Test: http://www.volleyball-verband.de/vlw/xml_curl/demo.php
ZIP Download cURL Version: http://www.volleyball-verband.de/vlw/xml_curl/xml_curl.zip



 XML-Schnittstelle mit Satzergebnisse (Ballpunkte) und Halle:
1. Gesamter Spielplan - Beispiel mit Satzergebnisse (Ballpunkte) und Halle:
https://vlw.it4sport.de/data/vbwb/aufsteiger/public/spielplan_2014_14.xml

2. Ergebnisblock - Beispiel mit Satzergebnisse:
https://vlw.it4sport.de/data/vbwb/aufsteiger/public/ergebnis_2014_14.xml


Neu  - Neu - Neu  - Neu - Neu  - Neu - Neu  - Neu

Hinweis zu Tabelle nach Einführung der 3-Punkte-Regelung: 

Tabelle - Beispiel nach neuer 3-Punkte Regelung: 
https://vlw.it4sport.de/data/vbwb/aufsteiger/public/tabelle_2014_40.xml

Beispielhaftes XML Aufbau Tabellen Element: 

<element>
<platz>1</platz>
<team>VfL Sindelfingen</team>
<spiele>0</spiele>
<dppunkte>0</dppunkte>
<dpplatz>1</dpplatz>
<dpsiege>0</dpsiege>
<dpniederlagen>0</dpniederlagen>
<dpgewinn3031>0</dpgewinn3031>
<dpgewinn30/>
<dpgewinn31/>
<dpgewinn32/>
<dpgewinn20/>
<dpgewinn21/>
<dpniederlage1303>0</dpniederlage1303>
<dpniederlage03/>
<dpniederlage13/>
<dpniederlage23/>
<dpniederlage12/>
<dpniederlage02/>
</element>

Erklärung: 

Die dp-Parameter stehen für die 3-Punkte-Regelung. 
 
Wie ist die Tabelle jetzt sortiert?
Die Elemente der Tabellen-XML wird nach dpplatz sortiert ausgegeben!

Was zeige ich in meiner Tabelle an?
Ob die "3:0/3:1,3:2, 2:3, 0:3/1:3" oder  "2:0, 2:1, 1:2, 0:2" Werte angezeigt werden, muss je Staffel entschieden werden. Die Jugend (Grossfeld) und Mixed-Staffeln spielen auf 2 Gewinnsätze. 

Die Vereine können Ihre Ansichten dafür entsprechend anpassen.



Fragen an: VLW-Administrator

Herzlichen Dank an Florian Funke für dessen Unterstützung und Beispiel-PHP-Klasse.


Hinweis zu UTF-8 Kodierung:

Aktueller Hinweis: Die neuen XML Dateien auf vlw.it4sport.de sind UTF-8 kodiert. Daher kann das bisherige utf8_encode($text) entfallen !!!

In der class.inc.php solltest du diesen Abschnitt austauschen:

function extractValue($tag, $string) {
    $opening_tag = "<".$tag.">";
    $closing_tag = "";
    $start = strpos($string, $opening_tag) + strlen($opening_tag);
    $end = strpos($string, $closing_tag);
    $text = trim(substr($string, $start, $end-$start));
     // kann entfallen !!
     // $text = utf8_encode($text); 
    return $text;

}


Einbindung über iframe

Man kann die XML Daten auch einfach über ein kleines PHP Skript auslesen und als iframe auf einer Seite anzeigen.

Vorteil:
- eine PHP Datei mit Anbindung der jeweiligen Spielklasse
- individuelles Layout
- einfacher Einbau

Alle nötigen Dateien und eine kleine readme.txt findet Ihr als ZIP unter xml-iframe-demo.zip

Übergabe der Parameter
- saison (2015 für Saison 2015/16)
- staffel (ID der Staffel)
- special (Teamname oder Teil davon, welcher hervorgehoben werden soll)

Einbindung des iframes:
... wenn alles im Ordner "test" liegt

<iframe onLoad="pruefe()" style="height:100px; width:450px; float:left" scrolling="auto" src="test/import.php?saison=2015&staffel=14&special=MTV Stuttgart" id="detail" name="detail" frameborder="no"></iframe>

Einbindung der Javascript-Datei frames.js
... damit der iframe die richtige Größe erhält:

<script type="text/javascript" src="frames.js"></script>

Hinweis zu UFT-8 Seiten:

Man sollte dann in der import.php noch den Header erweitern, damit der Zeichensatz stimmt.

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Beispiele:

> Beispiel beim MTV Stuttgart
> Beispiel http://volleyball-baustetten.de

Bitte sendet eure Einbindungsbeispiele an markus.bechert@tricept.de



Partner des VLW


VOLLEYBALL ERGEBNIS APP

Spielergebnisse und Ergebnisübermittlung in einer App - jetzt abholen und als Ergebnismelder registrieren!

PHOENIX II

Vereinsaccount, Meldung Kleinfeldmannschaften, ePass, Meldebogen, Zugang Staffelleiter
>>> https://vlw.it4sport.de

Newsletter abonnieren

Der VolleyNewsletter ist der offizielle Newsletter des Volleyball-Landesverbandes Württemberg e.V (VLW) und bringt wichtige Informationen aus der Volleyballwelt zeitnah und aktuell an alle Abonnenten.

JETZT ABONNIEREN

Veranstaltungen


Zum Event-Kalender

Rahmenspielplan

Hier geht es zum aktuellen Rahmenspielplan:
Spielbetrieb/Termine/Rahmenspielplan