Scorrimento array-pagine

peppepegasus

Utente Attivo
20 Ott 2006
108
0
0
ciao,

ho un array con un certo numero di elementi, devo realizzare un sistema che fissato un certo numero deve visualizzare per ogni pagina quel numero di componenti. Faccio un esempio:
ho un array con 25 elementi. Voglio che in ogni pagina appaiano 10 elementi. Nella prima pagina le prime 10, poi altre 10 e poi le ultime 5.
Ho bisogno di un sistema che prenda a 10 a 10 le componenti e le visualizzi nella pagina e un sistema di scorrimento pagine...mi sto scervellando da stamattina e non ci riesco, qualcuno può darmi una mano?
Ho provato a riadattare un sistema simile ma fatto sui dati prelevati da database ma non riesco a modificarlo..lo posto (solo la parte utile allo scorrimento) nel caso qualcuno può dirmi come modificarlo:

PHP:
<?
$query_conta="SELECT COUNT(*) FROM messaggi WHERE tipo_msg='altri';";
$result_conta=mysql_query($query_conta) or die ("impossibile eseguire: $query_conta");    
$row_conta=mysql_fetch_row($result_conta);
    
// Fisso alcuni parametri come il nr di msg x pag e il num di pag
    $msg_per_pagina = 10;
    $pag=$_REQUEST[pag];
    if ($pag=="") $pag=1;
    if (!isset($pag)) $pag=1;
    if($_REQUEST["pag"]!="") $pag=1;
    $num_pages=(int)(($row_conta[0]-1)/$msg_per_pagina);
    $inf=($pag-1)*$msg_per_pagina;

// Recupero i messaggi per numero fissato
$query="SELECT * FROM messaggi WHERE tipo_msg='altri' ORDER by id DESC limit $inf, $msg_per_pagina;"; 
$result_post=mysql_query($query_post) or die ("impossibile eseguire: $query_post");

//Stampo quelo che devo

// Sistemo il sistema di avanzamento e indietro pagine
if ($num_pages>0){?>
<table border="1" align="center">
<tr> 
<td><? echo "Pagina: " ?></td>
<td><?            
$gruppo=((int)(($pag-1)/10))+1;    
$start=($gruppo*10)-9;    
if ($num_pages > ($gruppo * 10)) $end=($gruppo*10);
else $end=$num_pages+1;
$i=$start-1;    
if ($gruppo>1) echo "<a href=\"gest_spam.php?pag=$i\">$i</a>&nbsp;&nbsp;&nbsp;&nbsp;";
for ($i=$start;$i<=$end;$i++) {
if ($i==$pag) echo "<b>$i&nbsp;&nbsp;&nbsp;&nbsp;</b>";
else echo "<a href=\"gest_spam.php?pag=$i\">$i</a>&nbsp;&nbsp;&nbsp;&nbsp;";
}
if (($num_pages+1)!=$end) echo "<a href=\"gest_spam.php?pag=$i\">$i</a>&nbsp;&nbsp;&nbsp;&nbsp;";?>      
</td>
</tr>
</table>

ho eliminato l'indentazione perchè non era molto leggibile..questo è relativo al sistema con dati prelevati da database che mi sembra più semplice da realizzare
Spero qualcuno mi aiuti.
grazie.
 

Discussioni simili