Paginazione recordset
include("sceltadb.php"); $dbhost=mysql_connect("localhost",$dbuname,$dbpass); mysql_select_db($dbname,$dbhost); // totali: numero di record complessivo $totali=mysql_result(mysql_query("SELECT COUNT(*) FROM News"),0); // quanti: numero di item per pagina $quanti=3; if (!isset($_REQUEST['start'])) { $start=0; //se non arrivo dai link di paginazione, partire dal primo record } else { $start=$_REQUEST['start']; // se arrivo dai link di paginazione, utilizzare il valore start calcolato a fondo pagina } // calcolo il numero di pagine totali $pagine_totali=ceil($totali/$quanti); // seleziono $quanti record a partire dalla posizione $start $sql="SELECT * FROM News ORDER BY data DESC LIMIT $start, $quanti "; $ricerca=mysql_query($sql); $n=mysql_num_rows($ricerca); for($i=0;$i<$n;$i++) { echo mysql_result($ricerca,$i,'titolo')." - ".mysql_result($ricerca,$i,'data')."<br>"; } // calcolo i valori di inizio per la pagina "precedente" e "successiva" $pre_start=$start-$quanti; $pro_start=$start+$quanti; if ($start>0) // se sono oltre la prima pagina { echo "<strong><a href='index.php?start=".$pre_start."'>Precedenti</a> - "; } if ($start+$quanti<$totali) // se non sono nell'ultima pagina { echo "<a href='index.php?start=".$pro_start."'>Prossimi</a></strong>"; } echo "<br>"; // elenco delle pagine con link per paginazione echo "<strong> Vai alla pagina "; for ($p=0;$p<$pagine_totali;$p++) { $pp=$p+1; $pag_start=$p*$quanti; // calcolo nuovo inizio per paginazione: pagina * quanti per pagina echo " <a href='index.php?start=".$pag_start."'>".$pp."</a> - "; } echo "</font>";
06-05-2010
|
News
|