Hallo Martin,
Bedankt voor je script. Het werkt ook bij ons. Helaas heb ik script kennis maar ben benieuwd of jij ook de keuzelijsten welke Sportlink aanbiedt werkend heb gekregen. Bijvoorbeeld de keuzelijst-leeftijdscategorieenkeuzelijst-leeftijdscategorieen.
Andere vraag: Welke output velden zijn beschikbaar? Ik heb "wedstrijddatum" en "aanvangstijd" geprobeerd maar dat geeft mij geen output. Deze velden staan in de Programma Library van Sportlink.
Ik had eerst moeten kijken voordat ik ging vragen. Ik zie het al: In de tweede regel moet je aangeven welke library opgehaald moet worden. teams vervangen voor programma.
Dat snap ik maar ik dacht dat een community juist was om te delen...
Ron, ik zie mooie logo's bij de wedstrijden op jullie site. Hoe doe je dit?
Aan de hand van bovenstaande voorbeeld. Het ophalen van een programma van een team in Wordpress
define('CLIENTID', '********'); define('AANTALDAGEN', '30'); define('EIGENWEDSTRIJDEN', 'NEE'); $teamId = get_post_meta(get_the_ID(), 'team_id', true); function getLeagueSchedule ($clientId, $teamId, $aantalDagen, $eigenwedstrijden) { $BASE_URL_PROG ="https://data.sportlink.com/poule-programma?client_id="; $url_prog = ( $BASE_URL_PROG . $clientId . '&poulecode=' . $teamId . '&aantaldagen=' . $aantalDagen . '&eigenwedstrijden=' . $eigenwedstrijden); $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL,$url_prog); $result_prog=curl_exec($ch); curl_close($ch); $data_prog = json_decode($result_prog, true); return $data_prog; echo json_last_error(); // 4 (JSON_ERROR_SYNTAX) } <?php try { $games = getLeagueSchedule ($clientId, $teamId, $aantalDagen, $eigenwedstrijden, $item['datum'], $item['wedstrijd'], $item['aanvangstijd'], NULL); } catch(Exception $exc) { $games = array(); } ?> <?php if(empty($games)) { echo '<tr><td colspan="2">Geen wedstrijden beschikbaar</td></tr>'; } else { foreach($games as $index => &$game) { ?> <tr> <td><?php echo date("j-n-Y", strtotime($game['wedstrijddatum']))?></td> <td><?php echo $game['wedstrijd']?></td> <td class="text-center"><?php echo $game['aanvangstijd']?></td> </tr> <?php } } ?>
Ik krijg in die library (http://dexels.github.io/navajofeeds-json-parser/article/) bij programma steeds error 500:
{"error":{"message":"Internal server error","code":5001}}
Ik roep deze aan:
https://data.sportlink.com/programma?client_id=xxx
"xxx" uiteraard vervangen met de juiste client id
Hebben jullie enig idee wat ik fout doe?
echo '<td class="grijs" style="width:45px">' . $programma_output[$i]["datum"]. '</td>'; echo '<td class="grijs" style="width:100px">' . $programma_output[$i]["aanvangstijd"]. '</td>'; echo '<td class="grijs" style="width:30px"><img src="http://bin617.website-voetbal.nl/sites/voetbal.nl/files/knvblogos_width35/'.$programma_output[$i]["thuisteamclubrelatiecode"].'.png" alt="Club Logo" style="width:35px"</td>'; echo '<td class="grijs" style="width:175px">' . $programma_output[$i]["thuisteam"]. '</td>'; echo '<td class="grijs" style="width:5px">-</td>'; echo '<td class="grijs" style="width:30px"><img src="http://bin617.website-voetbal.nl/sites/voetbal.nl/files/knvblogos_width35/'.$programma_output[$i]["uitteamclubrelatiecode"].'.png" alt="Club Logo" style="width:35px"</td>'; echo '<td class="grijs" style="width:175px">' . $programma_output[$i]["uitteam"] . '</td>'; echo '<td class="grijs" style="width:90px">' . $programma_output[$i]["veld"] . '</td>'; echo '<td class="grijs" style="width:90px"><a href="http://www.hvvodb.nl/sportlink/meerinfo.php?wedstrijdcode='. $programma_output[$i]["wedstrijdcode"] . '"><img src="http://www.hvvodb.nl/sportlink/vergroot-glas.gif" style="width:30px"></a></td>';
Timo, wat heeft jouw bericht te maken met oorspronkelijke bericht van Martin? Als je een vraag hebt maak dan een nieuw bericht aan. Het is natuurlijk een beetje moeilijk om antwoord te geven met de informatie welke je hebt gegeven. Heb je een code in je header geplaatst? Graag niet hier antwoorden maar een nieuwe post aanmaken.
Martin, ik ben benieuwd of jou het gelukt is met de keuzelijsten?
Ik heb de service keuzelijst-leeftijdscategorieen zojuist uitgeprobeerd en die levert 0 records. Zowel in op de pagina van Sportlink als in mijn eigen code (zie onder). Ik ga nu nog even een paar andere keuzelijsten proberen. Tevens ga ik een nieuw draadje openen over dit onderwerp.
<?php
// ========================================= SportLink Keuzelijst Leeftijdscategorieen ==================================================
echo '<h1>SportLink Keuzelijst Leeftijdscategorieen</h1>';
$url='https://data.sportlink.com/keuzelijst-leeftijdscategorieen?client_id=XXXXXX';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
$programma_output = json_decode($result, true);
$aantalrecords = count($programma_output);
echo 'Aantal records = ' . $aantalrecords . '<br/>';
echo '<table width="100%" border="0" cellspacing="0" cellpadding="2">';
echo '<tr><strong>';
echo '<td class="blue"><strong>Waarde</strong></td>';
echo '<td class="blue"><strong>Omschrijving</strong></td>';
echo '</strong></tr>';
for ($i = 0; $i < $aantalrecords; $i++)
{
$class = "odd";
$color = "blue";
echo '<tr class="' . $class . '">';
echo '<td class="'.$color.'">' . $programma_output[$i]["waarde"] . '</td>';
echo '<td class="'.$color.'">' . $programma_output[$i]["omschrijving"] . '</td>';
echo '</tr>';
}
echo '</table>';
//var_dump($programma_output);
echo 'Klaar';
?>
Zoals beloofd, hier wat PHP-code waarmee ik voor het eerst de Dataservices heb uitgeprobeerd. Het is een eenvoudig voorbeeld, dat alleen over Teams gaat, maar het kan behulpzaam zijn bij de eerste stap. Vul bij XXXXXXX je eigen Client_Id in.
<?php
$url='https://data.sportlink.com/teams?client_id=XXXXXXX';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
$programma_output = json_decode($result, true);
$aantalrecords = count($programma_output);
echo 'Aantal records = ' . $aantalrecords . '<br/>';
echo '<table width="100%" border="0" cellspacing="2" cellpadding="2">';
for ($i = 0; $i < $aantalrecords; $i++)
{
echo '<tr>';
echo '<td>' . $programma_output[$i]["teamcode"] . '</td>';
echo '<td>' . $programma_output[$i]["teamnaam"] . '</td>';
echo '<td>' . $programma_output[$i]["poulecode"] . '</td>';
echo '<td>' . $programma_output[$i]["competitienaam"] . '</td>';
echo '<td>' . $programma_output[$i]["klassepoule"] . '</td>';
echo '<td>' . $programma_output[$i]["spelsoort"] . '</td>';
echo '<td>' . $programma_output[$i]["competitiesoort"] . '</td>';
echo '<td>' . $programma_output[$i]["geslacht"] . '</td>';
echo '</tr>';
}
//var_dump($programma_output);
echo '</table>';
echo 'Klaar';
?>