ForHosting KIT · Strumenti per sviluppatori

Calcolo di offset e limite per la paginazione

Converta un numero di pagina basato su uno nei valori esatti richiesti da una query con offset.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Indichi la pagina desiderata, il numero massimo di record per pagina e il totale degli elementi disponibili. Il calcolatore restituisce l’offset basato su zero, il limite della query e il numero totale di pagine. Rifiuta inoltre numeri o dimensioni di pagina inferiori a uno, aiutandoLa a evitare query di database non valide e controlli di navigazione incoerenti.

Converta una richiesta di pagina in parametri di query

Le interfacce presentano di solito la paginazione con numeri di pagina intuitivi, mentre database e API richiedono spesso un offset basato su zero e un limite. Questo calcolatore collega le due convenzioni. Inserisca un numero di pagina che parta da uno, una dimensione e il totale degli elementi dell’intera raccolta. L’offset si calcola sottraendo uno dal numero di pagina e moltiplicando il risultato per la dimensione. Il limite coincide con la dimensione stessa. Per esempio, la terza pagina di una raccolta mostrata in gruppi di venticinque inizia dopo i primi cinquanta elementi; pertanto, l’offset è cinquanta e il limite venticinque. Può passare questi valori direttamente a una comune clausola SQL LIMIT e OFFSET oppure associarli ai parametri equivalenti di un altro servizio. Il risultato è deterministico e non esamina né recupera i record sottostanti. Esegue soltanto l’aritmetica necessaria per preparare una richiesta paginata, risultando utile in backend, script, test, documentazione e sessioni di diagnosi.

Comprenda le pagine totali e i casi limite

Il numero totale di pagine si ottiene dividendo il totale degli elementi per la dimensione della pagina e arrotondando per eccesso. L’arrotondamento è importante perché una pagina finale riempita solo in parte rimane comunque una pagina. Se centouno elementi vengono visualizzati in gruppi di venticinque, quattro pagine contengono cento elementi e una quinta contiene quello restante. Quando il totale degli elementi è zero, anche le pagine totali sono zero, perché non esiste alcuna pagina di risultati. La pagina richiesta non viene limitata automaticamente a quel totale. Una richiesta per la pagina dieci può quindi produrre un offset valido anche se la raccolta ha soltanto tre pagine. È una scelta intenzionale: il calcolatore restituisce l’aritmetica della paginazione e lascia a Lei la politica applicativa. La Sua applicazione può confrontare la pagina richiesta con total_pages e restituire un risultato vuoto, reindirizzare all’ultima pagina o mostrare una risposta di risorsa non trovata. Separare calcolo e politica mantiene l’output prevedibile nei database, nei servizi REST e nelle interfacce.

Convalidi gli input prima di creare la query

page e page_size devono essere interi sicuri maggiori o uguali a uno. Uno zero o un valore negativo violerebbe la convenzione delle pagine basate su uno o produrrebbe un limite privo di significato; entrambe le condizioni generano quindi un errore di input non valido. total_items deve essere un intero sicuro maggiore o uguale a zero, poiché una raccolta non può avere una quantità negativa o frazionaria di record. Il controllo degli interi sicuri evita inoltre perdite silenziose di precisione in JavaScript quando vengono moltiplicati valori molto grandi. Se l’offset calcolato supera l’intervallo sicuro, la richiesta viene rifiutata invece di restituire un numero impreciso. Le stesse regole possono proteggere il confine di un’API, impedendo che parametri errati raggiungano l’adattatore del database. La capacità non effettua richieste di rete, non conserva dati e non usa valori casuali o dipendenti dal tempo. Lo stesso input produce sempre lo stesso output. Ogni richiesta automatizzata tramite API costa $0.002; può verificare gli esempi nel browser durante la progettazione o la risoluzione dei problemi.

Creare una query per il database

Converta una pagina scelta nell’interfaccia in valori LIMIT e OFFSET per una query SQL.

Mostrare i controlli di paginazione

Calcoli il totale necessario per abilitare, disabilitare o etichettare i controlli di navigazione.

Verificare i casi limite di un’API

Generi i valori attesi per raccolte vuote, ultime pagine parziali e pagine oltre i risultati.

Il numero di pagina è basato su zero o su uno?

È basato su uno: la pagina 1 ha offset 0 e la pagina 2 inizia dopo un page_size completo.

Come viene calcolato total_pages?

Il calcolatore divide total_items per page_size e arrotonda per eccesso, contando anche una pagina finale parziale.

Che cosa accade quando total_items è zero?

total_pages è 0, mentre offset e limit vengono comunque calcolati usando la pagina e la dimensione richieste.

Posso richiedere una pagina successiva a total_pages?

Sì. Il calcolatore restituisce l’offset matematico e la Sua applicazione decide se mostrare un risultato vuoto o rifiutare la pagina.

Quanto costa una richiesta API?

Ogni richiesta API costa $0.002. Il calcolo è disponibile anche nel browser.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/dev/pagination-offset-calc

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/dev/pagination-offset-calc \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":3,"page_size":25,"total_items":123}'
{
  "page": 3,
  "page_size": 25,
  "total_items": 123
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.pagination_offset_calc",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →