Live Notification

dennis-sauer

Erfahrenes Mitglied
Hallo zusammen,

ich benötige "mal wieder" eure Hilfe.

Die Deutsche Bahn bietet u.a. für die Verfügbarkeit von Aufzügen eine Api an. Daher greife ich die Daten ab.

Code:
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.deutschebahn.com/fasta/v2/facilities?type=ELEVATOR&stationnumber=1401",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"authorization: Bearer XXXXXXXX",
"cache-control: no-cache"
),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

$result = json_decode($response, true);

$lift_status[7]['state'];
$lift_status[8]['state'];
usw

Das Ergebnis ist entweder ACTIVE oder INACTIVE

Nun habe ich eine Seite auf der stehen die Gleise in etwa so

Code:
<span class="badge badge-lg badge-primary">7</span>
<span class="badge badge-lg badge-primary">8</span>
usw

Ich möchte nun das wenn sich der Status auf INACTIVE ändert das so aussieht

Code:
<span class="badge badge-lg badge-danger">7<i class="fa fa-exclamation-triangle"></i></span>
<span class="badge badge-lg badge-danger">8 <i class="fa fa-exclamation-triangle"></i></span>
usw

Ich habe folgendes Stück Ajax Code

Code:
function repeatMe() {
  $.ajax({
    url: 'inc/elevators.php',
    success: function(data,html) {
      $('.notifications-lift').html(data);
    }
  });
} 
setInterval(repeatMe, 1000);

Das hilft mir natürlich nicht weiter. Im gesamten gibt es ja das Ergebnis für insgesamt 8 verschiedene Aufzüge.

Ich komm grad echt nicht weiter...

Danke
 
Soweit klar, nur dies verstehe ich nicht:
Code:
$lift_status[7]['state'];
$lift_status[8]['state'];
?
Poste doch mal das $response, das die API liefert. Du brauchst ja nur das HTML entspr. dem Status, der dort drin steht, zu generieren.
 
Wie geschrieben: Du brauchst, wenn ich das richtig überblicke, nur das HTML auf Grund des Status zu generieren:
Code:
for ($i = 1; $i <= 8; $i++) {
    if ($result[$i]['state'] == 'ACTIVE')
        echo '<span class="badge badge-lg badge-primary">' . $i . '</span>';
    else
       echo '<span class="badge badge-lg badge-danger">' . $i . '<i class="fa fa-exclamation-triangle"></i></span>';
}
Wenn ich damit daneben liege, erkläre es bitte genauer.
 
Zurück