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

Ik heb al een flink aantal services uitgeprobeerd, maar nog geen keuze-lijsten. Daar ga ik morgenavond even naar kijken.

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?



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

 

 

?>

Hoe maak je hiervan een drop-down en hoe combineer je dat dan met het programma overzicht? Wat ik zo graag wil is dat je een keuze voor leeftijdscategorie maakt en dat het programma van deze leeftijdscategorie wordt getoond.

Dat wordt programmeren. En als je dat zelf wilt maken, heb je wel wat PHP-kennis en ervaring nodig. Wij doen dit ook zelf op onze eigen website. Zie bijvoorbeeld http://www.bsleiden.nl/programma alwaar we ook een dropdownlist uitgeprogrammeerd hebben om het programma van een bepaald team te tonen.


Maar dat is wel voor gevorderden!

Dat snap ik maar ik dacht dat een community juist was om te delen...

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 }
    } ?>

 

  

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
Inloggen of registreren om een reactie te posten