View Full Version : [PHP]pagine virtuale..
Nella index volevo mettere delle news gestite da un panel, adesso ho una pagina che mi manda i dati di un form sul db e ho una index che preleva i dati sulla index solo che volevo che ne stampi tre alla volta..
es:
NEWS:
1................
2..................
3...................
1.2.3.4.5...>(link)
e poi in fondo i link al numero di pagine, e il tutto senza creare nessuna pagina ma usando get...? e fatibile?
Nella index volevo mettere delle news gestite da un panel, adesso ho una pagina che mi manda i dati di un form sul db e ho una index che preleva i dati sulla index solo che volevo che ne stampi tre alla volta..Questa è la classica questione della "paginazione" dei risultati di una query. Diciamo che o usi librerie apposite che gestiscono i db e la paginazione (per PHP non ne conosco) o fai tutto "a manina".
Innanzitutto i principali database consentono di estrarre un certo range di risultati di una query. Con MySQL ad esempio:
SELECT ....... LIMIT offset,count
Quindi ad ogni richiesta della pagina, dovresti innanzitutto effettuare una query per sapere quanti risultati hai (con una COUNT(...) ). Da qui puoi determinare quante pagine ci sono, sapendo a priori quanti risultati vuoi mostrare a video.
A quel punto esegui una query con la clausola LIMIT per estrarre solo i record della pagina che ti serve.
Il numero della pagina può essere passato tramite un parametro nella URL, cosa che che succede se scrivi nel documento i link alle altre pagine.
Non è difficilissimo comunque.
ok thx ho capito come , in pratica devo creare una quey in base al link kliccato?
:Dthx
ok thx ho capito come , in pratica devo creare una quey in base al link kliccato?Sì esatto, una cosa del genere.
Nella pagina avrai dei link del tipo:
<a href="risultati.php?page=1">1</a>
<a href="risultati.php?page=2">2</a>
.....
Poi si potrebbe decidere se passare un numero di pagina o direttamente un offset. Ma questo devi stabilirlo tu.
In sostanza, ad ogni richiesta della pagina fai una query per sapere quanti risultati in tutto ci sono. Una cosa del tipo:
SELECT COUNT(*) FROM .....
Sapendo il numero dei risultati determini il numero di pagine (questo ti servirà più che altro per generare la lista di link alle altre pagine).
Poi fai una query con la clausola LIMIT per prelevare solo un parte dei risultati. L'offset lo determini tu in base a quello che ti viene passato nel URL. Eventualmente 0 se non viene richiesto nulla.
ti ringrazio;) mi ripasso un'attimino sql e provo a farlo ...
:DThx
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.