modifica paginazione numerata

robycon

Utente Attivo
10 Feb 2010
43
0
0
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:
 
Ultima modifica:

robycon

Utente Attivo
10 Feb 2010
43
0
0
fatto

Sono riuscito a fare quello che volevo..
se qualcuno è interessato posso condividere..
da premettere.. nonostante funzioni bene, almeno per quello che serviva a me.. secondo me è un pò incasinato e nn si capisce molto.. sicuramente si farà in un altro modo molto + pulito xò funziona, testato
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
posta il codice, eventualmente si può vedere di migliorarlo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao

se qualcuno è interessato posso condividere..:fonzie:

PHP:
posta il codice, eventualmente si può vedere di migliorarlo:fonzie:

sarebbe ottima prassi di tutti i forumisti postare quello che hanno fatto
soprattutto se hanno avuto un aiutino dal forum
 

robycon

Utente Attivo
10 Feb 2010
43
0
0
Modifica

Allora lo script è quello sopra ma ho modificato alcune cose per fargli fare quello che mi serviva... sono sicuro che non è questo il modo ma a me funziona :D e x adesso mi sta bene... se c'è un modo migliore meglio.

<?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&s=".(0)."\" class='nolink2'>Prima pag.</a> ";
}

/// //MODIFICA -- VISUALIZZA LE PAGINE A 5 A 5 E SCORRE AVANTI DA 5 IN POI X 1 ALLA VOLTA ////

$prova=@$_GET['s'];

if (($p_corrente-1) > 0)
{
if($prova>=1){

$listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."&s=". ($prova-1)."\"class=\"freccette\">◄</a> ";

}else{
$listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."&s=".($prova)."\"class=\"freccette\">◄</a> ";
}
}

if($pgg<=5){

$colonne=$pgg;

}else{
$colonne=5;
}

if($prova==""){

$prova=0;

}else{
$prova=@$_GET['s'];
}

if($prova==$pgg){
$prova=$prova;
}

/// VISUALIZZA il numero pagine corrente es. 1 di 10 /////////////////////////////////
echo "<br><span style='padding-left:5px;padding-right:5px;border-bottom:1px solid red;border-top:1px solid red;'>Pagina: ".$p_corrente." di ".$pgg."</span>";

/////////////////////////////////////////////////////////////////////////////////////

for ($i=(1+$prova); $i<=($colonne+$prova); $i++)
{
if ($i == $p_corrente)
{
$listapgg .= "<b><span class='nolink'>".$i."</span></b>";
}else{
$listapgg .= "<a href=\"".SELF."?p=".$i."&s=".($prova)."&categoria=".$categoria."&vani=".$vani."\" class=\"numerazione\">".$i."</a>";
}
$listapgg .= " ";
}

if($p_corrente>=$colonne){

if($prova<=($pgg-6)){

$listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."&s=".($prova+1)."&categoria=".$categoria."&vani=".$vani."\"class=\"freccette\">►</a>";}}
else{
$listapgg .= "<a href=\"".SELF."?p=".($p_corrente)."&s=".($prova)."&categoria=".$categoria."&vani=".$vani."\"></a>";

if($p_corrente<=$pgg){

$listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."&s=".($prova)."&categoria=".$categoria."&vani=".$vani."\"class=\"freccette\">►</a> ";
}}

if (($p_corrente != $pgg) && ($pgg != 0))
{
$listapgg .= "<a href=\"".SELF."?p=".($pgg)."&s=".($pgg-$colonne)."&categoria=".$categoria."&vani=".$vani."\" class='nolink2'>Ultima pag.</a> ";
}


$listapgg .= "</td>\n";
return $listapgg;
}
//fine modifica ///////////////////////////////////////////////////////////////////////////


// 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)."&categoria=".$categoria."&vani=".$vani."\">Prossima pag.</a>";
}
return $impaginazione;
}
}
?>

Come si vede non è una grossa modifica, ho provato a testarlo variando sia numero di record ecc e cmq funziona sempre.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
so che non lo dovrei dire io che sono l'autore della classe, ma sarebbe bene aggiungere anche un controllo di validazione sul valore GET della pagina.
 

robycon

Utente Attivo
10 Feb 2010
43
0
0
qualkuno ha provato la modifica? c'è un modo migliore? cmq si deve togliere :if($prova==$pgg){
$prova=$prova
}
perchè non ha senso, non serve a niente
 

robycon

Utente Attivo
10 Feb 2010
43
0
0
probleminooooo :(

Ciao Eliox scusa volevo chiederti una cosa, visto che sei l'autore di quella classe della paginazione.
allora, il problemino che ho incontrato è che se per esempio la ricerca dal database nn va a buon fine ovvero nn ci sono record, praticamente mi sparisce tutto, l'intera pagina perchè? grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
D Jquery - modifica elemenento onlick jQuery 1
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
JeiMax Modifica codice php personalizzato PHP 2
P Pagina modifica record che non funziona PHP 0
L Modifica file upload in ASP Classic ASP 2
P modifica colore A Hover link website . WordPress 2
P Modifica con PHP di un node in una sitemap xml PHP 0
C Software modifica sitoweb in tempo reale WordPress 12
G Modifica immagine di sfondo attraverso un bottone PHP 18
L modifica dati. PHP 1
G modifica corretta funzione da eregi() a preg_match() PHP 3
R Modifica codice per l'upload di più file PHP 1
G Modifica testo Photoshop 3
felino Excel: popolare una cella con la data di modifica della riga a cui appartiene Windows e Software 3
felino [Wordpress] Modifica main color del template WordPress 8
M [PHP] Modifica account PHP 3
S [OFFRO] Creazione di programmi per la modifica automatizzata di testi Offerte e Richieste di Lavoro e/o Collaborazione 0
S [OFFRO] Rimozione o aggiunta di Password ai file PDF e opzionalmente loro modifica Offerte e Richieste di Lavoro e/o Collaborazione 2
F [PHP] modifica del body email con checked PHP 8
G Modifica da sito statico HTML a dinamico in Wordpress SEO e Posizionamento 1
Cosina Modifica script textarea jQuery 0
M [PHP] Calcolare costi su modifica orari PHP 4
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0
F modifica recensione google Discussioni Varie 2
C Photoshop CS 6 salvare una modifica Photoshop 0
L [PHP] Modifica in tabella ultimo id PHP 5
C Pagina fb notifica modifica post Social Media Marketing 1
Q Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10 PHP 8
C [Joomla] [HTML] Modifica codice per adattamento app Joomla 18
Daniele_Carrara [Javascript] Modifica input date Javascript 5
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
M [PHP] Tabella datagrid con icona di modifica che cambia in base a parametro PHP 0
Andrea1981 [WordPress] [HTML] Help modifica credits nel footer.Tema Customizr. WordPress 5
K [Visual Basic] Stampa e modifica record non funziona più Visual Basic 0
K [ASP.Net] Problema stampa e modifica ms sql ASP.NET 0
K stampa e modifica tabella in php e ms sql PHP 2
Michaelweb93 [WordPress] [HTML] Modifica sezione - pagina sito web WordPress 1
A [PHP] [RISOLTO] Modifica record db da form PHP 11
T [PHP] piccola modifica a script (non mio...) PHP 8
P Cerco programmatore per modifica sito wordpress Offerte e Richieste di Lavoro e/o Collaborazione 4
Z Modifica ricorsiva file html HTML e CSS 3
Trapano [PHP] modifica simultanea di più campi nel db PHP 1
K [CERCO] Programmatore per modifica tema wp Offerte e Richieste di Lavoro e/o Collaborazione 2
U modifica sender-receiver email Posta Elettronica 4
W modifica firma Supporto Mr.Webmaster 20
M Modifica parametro mysql_result($result, $i, 'id') Deprecato dal 5.5 PHP 10
X modifica contemporanea di record MS Access 6
J [WP] Chiarimenti modifica campo WordPress 0
A Form per modifica record database PHP 9

Discussioni simili