Domanda:
domanda su php e database?
marco.mftl
2012-11-24 00:36:39 UTC
sono alle prime armi con il php e con i database, conosco gli essenziali ma più o meno riesco a muovermi.
vengo subito al punto: supponendo che io abbia un sito, un blog, in ogni pagina del sito sono presenti 10 articoli. questi 10 articoli sono immagazzinati in un database. al di là delle operazioni che dovrei compiere per connettermi al database e estrarre gli articoli da esso, come devo organizzare le pagine del sito affinchè tutti gli articoli siano visibili?
mi spiego meglio: ho detto già 10 articoli per pagina. supponiamo che nel database siano contenuti 100 articoli, ho bisogno di 10 pagine, la prima che contenga gli articoli da 1 a 10, la seconda da 11 a 20, la terza da 21 a 30 e via continuando, alla fine creo le mie dieci pagine in php che, con adeguate istruzioni in php fanno si che io veda i 10 articoli per pagina.
ma se nel blog scrivono altri utenti, inserendo i propri articoli, questi non sono più 100 ma diventeranno 110, 120, etc. Come faccio a creare automaticamente delle pagine che contengano tutti gli interventi (sempre 10 per pagina)?
Spero di essere stato chiaro nel descrivere il mio problema, non è stato facile descriverlo :\
Tre risposte:
Some random nickname
2012-11-24 01:43:52 UTC
Cerca mvc e paginazione
Daniele D
2012-11-24 08:49:43 UTC
Per visualizzare gli artoli non ci vogliono tante pagine, altrimenti per ogni volta che superi un multiplo di 10 che succede? Deve essere creata una nuova pagina?



Non l'ho mai fatto, ma intuitivamente mi viene da pensare questo:

Il procedimento è creare una pagina sola che all'interno visualizzi i primi 10 articoli. Dato che sono salvati su un database ovviamente il tutto si traduce in una query. Quando vuoi vedere i 10 articoli successivi (cliccando ad esempio un pulsante) non si fa altro che ricaricare la pagina con una query "aggiornata" ovvero che invece di richiedere i primi 10 richiede i secondi 10. E così via..



Spero di essere stato chiaro ;)
?
2012-11-24 08:55:23 UTC
$perpage=10; //numero di record x pagina

$sql='select count(id) from whatever';

$count=mysql_query($sql,$conn);

$row=mysql_fetch_row($count);

$totale=$row[0]; //numero di record

$pagine=ceil($totale/$perpage); //indica il numero di pagine

$page=1; //Pagina corrente di default, quindi 1

if(isset($_GET['page']))

{

$page=$_GET['page'];

}



$primo=($page-1)*$perpage;







$sql='select id, first, second from whatever limit '.$primo.','.$perpage.'';

$dati=mysql_query($sql);

//e poi fai il tuo while


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...