Pobieranie informacji za pomocą pętli for, dwucyfrowe liczby

0

Niezbyt zgrabnie wyszedł mi tytuł wątku, ale postaram się to wytłumaczyć w bardziej przejrzysty sposób.

Otóż dłubię w PHP mały skrypt, który za pomocą dostępnego API pobiera z serwisu http://adres.pl/AXXXX
Na potrzeby tego problemu ustalmy, że pobieram informacje o samochodach.
Każdy samochód ma własną "stronę" w serwisie. Składnia adresu wygląda następująco: http://adres.pl/AXXXX, gdzie XXXX to liczby z przedziału od 0001 do 9999, czyli na przykład http://adres.pl/A0001, A0002, itp itd...
potrzebuję pobrać pierwszych 30 danych tj A0001 - A0030

Robię to mniej więcej tak:

 
<?php
$url = 'http://auta.pl';
$key = '1234567890';

for($i=1;$i<10;$i++)
{

$baza = @file_get_contents(
                $url."services/auta".
                "?car_code=A000".$i.
                "&fields=code|name|type|status|country|state".
                "&consumer_key=".$key
};

        if (!$baza)
                die("ERROR! Check your consumer_key and/or car code!\n");
	$kod = json_decode($baza)->code;
	$nazwa = json_decode($baza)->name;
	$typ = json_decode($baza)->type;
	$stat = json_decode($baza)->status;
	$kraj = json_decode($baza)->country;
	$woj = json_decode($baza)->state;


echo($i.") ".$stat." <a href='http://adres.pl/".$kod."'>".$nazwa."</a> ".$typ." (<i>".$kraj."/".$woj."</i>)<br />\n");

}
?>

Tak mogę pobrać na pałę pierwsze 9 rekordów, bo potem zderzam się z problemem:
Jak zmodyfikować pętlę, aby poniżej '10' dostawiała zero do cyfry?
Drugie pytanie (przy okazji) brzmi:
Jak zastosować warunek case, aby przy statusie (może być Available lub Archived) zareagować odpowiednim kolorem czcionki.
np gdy status jest 'Archived' to wtedy w $echo(); tekst jest na czerwowo, a w przypadku 'Available' na zielono.

(Ok, tu poradziłem sobie wstawiając switch)

Z PHP jestem bardzo zielony i nie za bardzo wiem jak się do tego zabrać, aby kod był w miarę optymalny.
Pozdrawiam.

1
if($i < 10) $i = "0" . $i;

Dodaj to w pętli, brzydko wygląda ale powinno działać ;)

Ładniejszy sposób:

$liczby = [
 '1' => 01,
 '2' => 02
]
echo $liczby['1']; //wyświetli 01
0
Trebuh napisał(a):
if($i < 10) $i = "0" . $i;

Dodaj to w pętli, brzydko wygląda ale powinno działać ;)

Dzieki
user image

1 użytkowników online, w tym zalogowanych: 0, gości: 1