Tworzę klasę PHP korzystającą z interfejsu API innej firmy. Interfejs API ma metodę o tej strukturze adresu URL żądania:żądanie stronicowania w aplecie, jak sprawdzić, czy jest inna strona?
https://api.domain.com/path/sales?page=x
Gdzie "x" to numer strony.
Każda strona zwraca 50 sprzedaży i muszę zwrócić nieokreśloną liczbę stron dla każdego użytkownika (w zależności od sprzedaży użytkownika) i przechowywać niektóre dane z każdej sprzedaży.
Mam już stworzone metody, które pobierają dane z adresu URL, dekodują i tworzą nową tablicę z żądanymi danymi, ale tylko z pierwszym żądaniem strony.
Teraz chcę utworzyć że sprawdzić, czy istnieje inna strona metodę, a jeśli nie jest, to się i dokonać sprawdzenia ponownie
Jak mogę sprawdzić, czy istnieje inna strona? I jak stworzyć pętlę, która dostanie kolejną stronę, jeśli taka istnieje?
Mam już ten kod, ale tworzy on nieskończoną pętlę.
require('classes/class.example_api.php');
$my_class = new Example_API;
$page = 1;
$sales_url = $my_class->sales_url($page);
$url = $my_class->get_data($sales_url);
while (!empty($url)) {
$page++;
$sales_url = $my_class->sales_url($page);
$url = $my_class->get_data($sales_url);
}
Nie używam CURL, używam file_get_content
. Kiedy żądać stronę poza zasięgiem, otrzymuję ten wynik:
string(2) "[]"
a ten drugi po json_decode
:
array(0) { }
Co oznacza api, gdy podajesz stronę poza zakresem? – Cyrbil
Zakładając, że używasz CURL, czy żądanie zwraca wartość inną niż 200 przy próbie uzyskania dostępu do numeru strony, który nie istnieje? –
Dzięki! Zmieniłem to pytanie, by odpowiedzieć na twoje pytania. – ThemesCreator