Informationen - Beispiel: API mit PHP verwenden

Ladv.de API mit PHP verwenden

Es folgt ein einfaches Beispiel, wie die ladv.de API aus PHP heraus in einer Homepage eingebunden werden kann. Es soll eine Seite, die alle Wettkämpfe zeigt, an denen die LG Hohenlohe im Jahr 2008 teilgenommen, hat erstellt werden. Die Tabelle hat drei Spalten: Datum, Veranstaltung, Ort. Die Tabelle soll nach Datum absteigend sortiert sein (die neueste Veranstaltung steht oben). Datum, Veranstaltung und Ort linken dabei auf die Veranstaltungsdetails auf ladv.de.

Html Grundgerüst für die Seite (ergebnisse.php):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>JSON Ergebnisse von www.ladv.de</title>
  	</head>
  	<body>
	<table rules="all" border="1">
	<?php
	//URL zu LADV
	$url = "https://ladv.de/api/<MY-API-KEY>/vea?vereinid=1501&year=2008";

	//Einlesen der URL
  	$handle = fopen ($url, "r");
  	$ladv_json = '';
  	if($handle) 
  	{
  		while (!feof($handle)) {
  			$ladv_json .= fread($handle, 8192);
  		}
  	}
  	fclose ($handle);

	//Veranstaltungen über die über PHP Funkiton json_decode in ein Objekt umwandeln
  	$veranstaltungen = json_decode($ladv_json);

	//über foreach jede Veranstaltung ausgeben
  	foreach($veranstaltungen as $veranstaltung) {
	  	echo('	<tr>
	  		<td><a href="' . utf8_decode($veranstaltung->url) . '" target="_blank">' . 
	  			utf8_decode($veranstaltung->datumText) . '</a></td>
	  		<td><a href="' . utf8_decode($veranstaltung->url) . '" target="_blank">' . 
	  			htmlspecialchars(utf8_decode($veranstaltung->name)) . '</a></td>
	  		<td><a href="' . utf8_decode($veranstaltung->url) . '" target="_blank">' . 
	  			utf8_decode($veranstaltung->ort) . '</a></td>
	  		</tr>
		');
  	}

	?>
	</table>
	</body>
</html>

So funktioniert es

Die Datei ergebnisse.php läd von ladv.de die aktuellen Ergebnisse aus der API und gibt sie dann formatiert aus. Im PHP Script muss zuerst die Variable $url angepasst werden. Sie enthält den Aufruf der API Funktion, der hier umgangsprachlich sagt: "Gib mir alle Veranstaltungen an denen die LG Hohenlohe 2008 teilgenommen hat". Der Inhalt dieser URL wird nun eingelesen und mit der PHP Funktion json_decode() (Beschreibung: http://de.php.net/json_decode) in ein Objekt umgewandelt. Die Funktion json_decode() ist jedoch erst ab PHP Version 5.2 und neuer vorhanden. Bei einer älteren PHP Version kann man z.B. das Package Services_JSON (Download unter http://pear.php.net/pepr/pepr-proposal-show.php?id=198) nutzen. Hierzu muss man die Zeile:

$veranstaltungen = json_decode($ladv_json);

durch

	include('JSON.php');
	$json = new Services_JSON();
	$veranstaltungen = $json->decode($ladv_json);

ersetzen. Dei Datei JSON.php muss dabei im selben Verzeichnis wie die php-Datei liegen.

Über die Foreach Schleife werden nun die einzelnen Veranstaltungen verarbeitet. Hier können beliebig Änderungen vorgenommen werden, um die Ausgabe zu verändern und zu erweitern. Es stehen auch deutlich mehr Daten zur Verfügung, als dieses Beispiel darstellt.

Beispiel

http://leichtathletik-igersheim.de/ergebnisse/

Julian Michel (julian_michel@gmx.de)
Bei Fragen zum PHP Script stehe ich gerne zur Verfügung.