Voorbeeld PHP-code t.b.v. WordPress website


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';

?>


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.


1 persoon vindt dit leuk

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.


1 persoon vindt dit leuk

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.


1 persoon vindt dit leuk
Is er al iemand die een werkende dropdownlist heeft.
En per datum in een tabel zou ik ook mooi vinden.
Ben zelf geen programmeur probeer alleen de club te helpen, dus hulp op dit forum wordt zeer gewaardeerd.

Mvg,
Ron

 


1 persoon vindt dit leuk

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';

 

 

?>

Voor Wordpress is er er een prachtige (betaalde) plugin die al het werk uit handen neemt. Google maar eens..

 

Aanmelden of registreren om een reactie te posten