My code is below, please bare in mind I'm new to PHP so the code may be messy.
require("OpenLDBWS.php");
$OpenLDBWS = new OpenLDBWS("My Token");
$response = $OpenLDBWS->GetDepBoardWithDetails(100,"GTW",0,0,60,120);
header("Content-Type: text/plain");
//print_r ($response);
if (isset($response->GetStationBoardResult->trainServices->service))
{
foreach($response->GetStationBoardResult->trainServices->service as $service)
{
$destinations = array();
foreach($service->destination->location as $location)
{
$destinations[] = $location->locationName;
$desticrs[] = $location->crs;
}
$recordtime = substr($response->GetStationBoardResult->generatedAt, 0, 16);
$origin_location = $response->GetStationBoardResult->locationName;
$origin_crs= $response->GetStationBoardResult->crs;
$time = $service->std;
$serviceID = $service->serviceID;
$operator = $service->operator;
$dest = implode($destinations);
$dest_crs = implode($desticrs);
$plat = $service->platform;
$est= $service->etd;
$datetime = substr($recordtime, 0, 16);
$recordtime = str_replace('T',' ',$recordtime);
$recordtime = date("Y-m-d H:i",strtotime($recordtime));
// Perform lookup on ServiceID
$query_service_lookup = "SELECT * FROM UKRail_departboards WHERE ServiceID = '".$serviceID."'";
$service_lookup = mysqli_query($navex, $query_service_lookup ) or die(mysqli_error($navex));
$row_lookup = mysqli_fetch_assoc($service_lookup);
$totalRows_service_lookup = mysqli_num_rows($service_lookup);
// If ServiceID is found, update if required
do {
if($row_lookup['Estimated'] != $est ||$row_lookup['Platform'] != $plat ){
$query_p = "UPDATE UKRail_departboards Set Estimated = '".$est."', Platform = '".$plat."' WHERE ServiceID = '".$serviceID."' ";
$p = mysqli_query($navex, $query_p) or die(mysqli_error($navex));
}
// If no ServiceID found, insert new record
if(empty($row_lookup['ServiceID'])){
$insertSQL = "INSERT INTO UKRail_departboards (RecordDate, ServiceID, Origin_location, Origin_crs, Platform, ScheduleTime, Estimated, Dest_location, Dest_crs, Operator) VALUES ('".$recordtime."', '".$serviceID."','".$origin_location."', '".$origin_crs."', '".$plat."', '".$time."', '".$est."','".$dest."', '".$dest_crs ."', '".$operator."')";
$Result1 = mysqli_query($navex,$insertSQL) or die(mysqli_error($navex));
}
} while($row_lookup = mysqli_fetch_assoc($service_lookup));
// Read Calling at data
$callingpoints = array();
foreach($service->subsequentCallingPoints->callingPointList as $callingPointList)
{
foreach($callingPointList->callingPoint as $calling)
{
$call = $calling->locationName;
// Insert CallingPoints
$insertSQL = "INSERT INTO UKRail_departboard_calling_points (ServiceID, CallingPoint, Origin_location) VALUES ('".$serviceID."','".$call."','".$crs."')";
$Result1 = mysqli_query($navex,$insertSQL) or die(mysqli_error($navex));
}
}
}
}