ForHosting KIT · Strumenti per sviluppatori

Calcolo di offset e limite per la paginazione

Converta la pagina scelta da un visitatore nei valori che una query al database si aspetta: la pagina 3 con 25 elementi per pagina parte dall'offset 50, e 123 elementi occupano 5 pagine. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Pagina
3
Formato pagina
25
Totale elementi
123
Ottiene
Scostamento
50
Limite
25
Totale pagine
5

Converta un numero di pagina basato su uno nei valori esatti richiesti da una query con offset. 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

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.

Convalidi gli input prima di creare la query

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. 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.

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.

Come calcolo l'offset di una certa pagina?

Sottragga uno al numero di pagina e moltiplichi per la dimensione della pagina. La terza pagina con 25 elementi per pagina salta i primi 50 record, quindi il suo offset è 50 e il limite è 25.

Come si ottiene il numero totale di pagine?

Il totale degli elementi viene diviso per la dimensione della pagina e arrotondato per eccesso, perché un'ultima pagina riempita a metà è comunque una pagina. Con 123 elementi a gruppi di 25 si ottengono 5 pagine, e una raccolta vuota dà 0.

Che cosa succede se si chiede una pagina oltre l'ultima?

Si ottiene comunque un offset valido, perché la pagina richiesta non viene ridotta al totale. La pagina 10 di un elenco di tre pagine viene calcolata normalmente, e la sua applicazione decide se mostrare un risultato vuoto o passare all'ultima.

Perché le pagine partono da uno e l'offset da zero?

Le persone contano le pagine da uno, mentre il database conta quanti record saltare, partendo da zero. Per questo la prima pagina ha offset 0, e un numero di pagina o una dimensione inferiori a uno vengono rifiutati.

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.

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.

Comprenda le pagine totali e i casi limite

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. Le stesse regole possono proteggere il confine di un’API, impedendo che parametri errati raggiungano l’adattatore del database. Ogni richiesta automatizzata tramite API costa $0.002; può verificare gli esempi nel browser durante la progettazione o la risoluzione dei problemi.

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.

Leggi la documentazione completa del KIT →