Ciao Ragazzi,
Sto sviluppando un sito di un'illustratore: le immagini vengono pescate da una semplice cartella tramite glob e ordinate in un elenco <ul>. Mi serviva uno script per la suddivisione in pagine, purtroppo col php sono un principiante e in rete ho trovato questo script che ho adattato alle mie esigente e all'inizio sembrava funzionare:
Codice PHP:
<ul>
<?php
$path = "lavori/illustrazioni/2011/preview/";
$lista = glob("$path*.jpg");
$numperpagina=16;
if (isset($_GET['pagina']))
$pagina=$_GET['pagina'];
else
$pagina=1;
$inizio=($pagina-1)*$numperpagina;
$fine=$inizio+$numperpagina;
if ($fine>count($lista))
$fine=count($lista);
$i = 0;
foreach ($lista as $v)
{
if ($i >= $fine)
break;
if ($i >= $inizio)
/* Questo mi serve per illustrare il titolo correttamente con Lightbox e caricare le immagini grandi nella cartella main */
$title = substr($v, 37, -4);
$pre = 'preview';
$main = 'main';
$src = str_replace($pre, $main, $v);
echo '[*][url="' .$src. '"][img]' .$v . '[/img][/url]';
$i++;
}
?>[/list]
<?php
echo "<ul id='prevnext'>";
if ($pagina!=1)
echo "<li class=\"prev\"><a href=\"?pagina=".($pagina-1)."\" title=\"Vai alla pagina precedente\">back</a>";
if ($inizio+$numperpagina<count($lista))
echo "<li class=\"next\"><a href=\"?pagina=".($pagina+1)."\" title=\"Vai alla pagina successiva\">next</a>";
echo "[/list]";
?>
Purtroppo se nella prima pagina visualizza i 16 'record' come desiderato, alla seconda ne aggiunge altri 16 lasciando i primi, quindi 32 elementi per pagina, e così via. Dove sto sbagliando?