un aiutino sulla paginazione numerata pleasee
salve grazie a voi ho risolto la questione paginazione numerata... però ora mi sn reso conto che manca qualcosa.. cioè
come numerazione è perfetta. vi posto il codice e dico cosa mi manca
<?php
// definiamo una costante per la pagina corrente
define("SELF", $_SERVER['PHP_SELF']);
// definiamo la classe
class Paging
{
// definiamo la pagina di partenza
function paginaIniziale($max_row)
{
if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
{
$parti_da = 0;
$_GET['p'] = 1;
}else{
$parti_da = ($_GET['p']-1) * $max_row;
}
return $parti_da;
}
// contiamo le pagine e stabiliamo quanti records devono essere impaginati
function contaPagine($conta, $max_row)
{
$pgg = (($conta % $max_row) == 0) ? $conta / $max_row : floor($conta / $max_row) + 1;
return $pgg;
}
// mostriamo l'elenco delle pagine
function listaPagine($p_corrente, $pgg)
{
$listapgg = "";
if (($p_corrente != 1) && ($p_corrente))
{
// $listapgg .= " <a href=\"".SELF."?p=1\">Prima pag.</a> ";
}
if (($p_corrente-1) > 0)
{
$listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."\"class=\"freccette\">◄</a> ";
}
for ($i=1; $i<=$pgg; $i++)
{
if ($i == $p_corrente)
{
$listapgg .= "<b><span class='nolink'>".$i."</span></b>";
}else{
$listapgg .= "<a href=\"".SELF."?p=".$i."\" class=\"numerazione\">".$i."</a>";
}
$listapgg .= " ";
}
if (($p_corrente+1) <= $pgg)
{
$listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."\"class=\"freccette\">►</a> ";
}
if (($p_corrente != $pgg) && ($pgg != 0))
{
// $listapgg .= "<a href=\"".SELF."?p=".$pgg."\">Ultima pag.</a> ";
}
}
$listapgg .= "</td>\n";
return $listapgg;
}
// permettiamo la navigazione per pagine precedenti e successive
function precedenteSuccessiva($p_corrente, $pgg)
{
$impaginazione = "";
if (($p_corrente-1) <= 0)
{
$impaginazione .= "Precedente";
}else{
$impaginazione .= "<a href=\"".SELF."?p=".($p_corrente-1)."\">Pag. precedente</a>";
}
$impaginazione .= " | ";
if (($p_corrente+1) > $pgg)
{
$impaginazione .= "Prossima";
}else{
$impaginazione .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">Prossima pag.</a>";
}
return $impaginazione;
}
}
?>
con questo codice funziona tutto. ma in questo modo mi conta tutte le pagine, io vorrei fare che per non creare centinaia di numeri a video.. mi visualizzasse le pagine ogni 10 per esempio
da questo codice qualcuno modificando mi può aiutare?
grazieee:fonzie:
salve grazie a voi ho risolto la questione paginazione numerata... però ora mi sn reso conto che manca qualcosa.. cioè
come numerazione è perfetta. vi posto il codice e dico cosa mi manca
<?php
// definiamo una costante per la pagina corrente
define("SELF", $_SERVER['PHP_SELF']);
// definiamo la classe
class Paging
{
// definiamo la pagina di partenza
function paginaIniziale($max_row)
{
if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
{
$parti_da = 0;
$_GET['p'] = 1;
}else{
$parti_da = ($_GET['p']-1) * $max_row;
}
return $parti_da;
}
// contiamo le pagine e stabiliamo quanti records devono essere impaginati
function contaPagine($conta, $max_row)
{
$pgg = (($conta % $max_row) == 0) ? $conta / $max_row : floor($conta / $max_row) + 1;
return $pgg;
}
// mostriamo l'elenco delle pagine
function listaPagine($p_corrente, $pgg)
{
$listapgg = "";
if (($p_corrente != 1) && ($p_corrente))
{
// $listapgg .= " <a href=\"".SELF."?p=1\">Prima pag.</a> ";
}
if (($p_corrente-1) > 0)
{
$listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."\"class=\"freccette\">◄</a> ";
}
for ($i=1; $i<=$pgg; $i++)
{
if ($i == $p_corrente)
{
$listapgg .= "<b><span class='nolink'>".$i."</span></b>";
}else{
$listapgg .= "<a href=\"".SELF."?p=".$i."\" class=\"numerazione\">".$i."</a>";
}
$listapgg .= " ";
}
if (($p_corrente+1) <= $pgg)
{
$listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."\"class=\"freccette\">►</a> ";
}
if (($p_corrente != $pgg) && ($pgg != 0))
{
// $listapgg .= "<a href=\"".SELF."?p=".$pgg."\">Ultima pag.</a> ";
}
}
$listapgg .= "</td>\n";
return $listapgg;
}
// permettiamo la navigazione per pagine precedenti e successive
function precedenteSuccessiva($p_corrente, $pgg)
{
$impaginazione = "";
if (($p_corrente-1) <= 0)
{
$impaginazione .= "Precedente";
}else{
$impaginazione .= "<a href=\"".SELF."?p=".($p_corrente-1)."\">Pag. precedente</a>";
}
$impaginazione .= " | ";
if (($p_corrente+1) > $pgg)
{
$impaginazione .= "Prossima";
}else{
$impaginazione .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">Prossima pag.</a>";
}
return $impaginazione;
}
}
?>
con questo codice funziona tutto. ma in questo modo mi conta tutte le pagine, io vorrei fare che per non creare centinaia di numeri a video.. mi visualizzasse le pagine ogni 10 per esempio
da questo codice qualcuno modificando mi può aiutare?
grazieee:fonzie:
Ultima modifica: