- Home
- Categorie
- Coding e Sistemistica
- PHP
- suddividere risultati in più pagine da x risultati ciascuna
-
suddividere risultati in più pagine da x risultati ciascuna
Come faccio a suddividere in più pagine i risultati dela query fatta ad un database?
Se ho per esempio chiesto quanti sono gli utenti di un servizio e sono 300 ma io ne voglio visualizzare 50 per pagina come posso fare? Ma poi quando sarann 400 dovrà essere il sistema automaticamente a creare le nuove pagine.
Boh
-
-
La conoscevo ma non c'è un modo più facile?
-
Questa è la sintassi che uso io con asp, puoi provare ad adattarla al php, non è difficile:
IL nome della pagina facciamo finta che sia:
il_mio_cane.php
Dim QuerySQl
Dim Recordset
Dim pagina
Dim risultati_per_pagina
dim contrisultati_per_pagina=50
cont=risultati_per_pagina
pagina = TRIM(Request.QueryString("pag")) 'paginazioneif pag="" Then
pag = 1
Else
pag = CInt(pag)
End Ifset Recordset= Server.CreateObject("ADODB.Recordset")
QuerySQl="SELECT CHE TE PARE FROM CHE TE PARE"
Recordset.open QuerySQl, Connessione_al_db
if Recordset.eof then
Response.Write "<p align=""center"">Db vuoto</p>"
Recordset.close
set Recordset=nothing
Connessione.close
set Connessione=nothing
elsedim movimento '(serve per creare le pagine successive)
movimento=risultati_per_pagina*(pag - 1)
Recordset.move movimentowhile not (Recordset.eof or cont=0)
QUI SCRIVI TUTTO IL CODICE CHE TI SERVE PER METTERE I DATI DEL DB NELLA TUA PAGINA PHP
cont = cont - 1
Recorset.Movenext
wend
If ( pag > 1) Then 'se la pagina è >1 crea la freccia per tornare indietro<a class="Sx" href="il_mio_cane.php?pag=<%=pag-1%>">
</a>End if
dim c, tot, lastpage, objRStot
Set objRStot = Server.CreateObject("ADODB.Recordset") StringaSQL = "SELECT COUNT(*) FROM LA TABELLA CHE TI INTERESSA" objRStot.Open StringaSQL, Connessione tot=objRStot(0)
if tot mod(numero)=0 then
lastpage=int(tot/risultati_per_pagina)
elselastpage=Int(tot/numero)+1
end if
for c=1 to lastpage
[url="il_mio_cane.php?pag=<%=c%>"]<%=c%>
nextIf not Recordset.eof Then
<a class="Sx" href="il_mio_cane.php?pag=<%=pag+1%>">
</a>
End if
Recordset.close
set Recordset=nothing
objRStot.close
Set objRStot=nothing
Connessione.close
set Connessione=nothing
End ifProbabilemente hoi scritto male qualche cosa, perchè vado di corsa, se ci sono errori ditemelo.
Ciao
-
Grazie.
Comunque ho deciso di modificare quello di html, usando la paginazione 2
GRAZIE.