Este es mi script y el problema es utilizar eso lo de par e impar por eso que consideré que era mejor un post independiente :
Código PHP:
<?php
/// Opciones gal,file o dir ///
$p_mode="file";
$p_cols="3";
$p_ruta_images="imagenes/banners";
$p_ruta_file="ejemplo.txt";
$p_ruta_dir="db_p/db_productos";
$p_number_elementos_pag="4";
$p_grupos_paginados="5";
///
?>
<?php
if ($p_mode=="file")
{
$p_file=file("".$p_ruta_file."");
$p_n_elements=0;
for($p=0;$p<sizeof($p_file);$p++)
{
$f_files[]=$p_file[$p];
$p_n_elements++;
}
}
?>
<?php
if ($p_mode=="gal" or $p_mode=="dir")
{
if ($p_mode=="gal")
{
$p_dir="".$p_ruta_images."";
}
else
{
$p_dir=="".$p_ruta_dir."";
}
$p_n_elements=0;
$p_dir=opendir($p_dir);
while($file=readdir($p_dir))
{
if ($file!="." && $file!=".." && $file!=".htaccess" && $file!="index.html" && $file!="Thumbs.db" && $file!="config.dat")
{
$p_n_elements++;
}
}
closedir($p_dir);
}
?>
<?php
$p_number_elements="".$p_n_elements."";
$p_totales=ceil($p_number_elements/$p_number_elementos_pag);
$pag="".$_REQUEST['pag']."";
?>
<?
$back_total="<a href=?pag=1> <<</a>";
$next_total="<a href=?pag=$p_n_elements> >></a>";
?>
<?php
if ($p_totales<$p_grupos_paginados)
{
$p_grupos_paginados="$p_totales";
}
else
{
$p_grupos_paginados="$p_grupos_paginados";
}
/// Si la página es cero ///
if ($pag==0 or $pag=="" or $pag<0 or $pag==1)
{
$p_ini=1;
$p_end="".$p_grupos_paginados."";
$p_ini_e="1";
$p_end_e="".$p_number_elementos_pag."";
$back="";
$next='<a href=?pag='.($pag+1).'>> </a>';
}
///
/// Si páginas superan el total ///
if ($pag>=$p_totales)
{
print "mayor";
$p_ini="".($p_totales)-($p_grupos_paginados)+(1)."";
$p_end="".$p_totales."";
$p_ini_e="".($p_n_elements)-($p_number_elementos_pag)+(1)."";
$p_end_e="".$p_n_elements."";
$back='<a href=?pag='.($pag-1).'>< </a>';
$next="";
}
///
if ($pag>1 && $pag<$p_totales)
{
//if (($pag)+($p_grupos_paginados)>=$p_totales)
if ($pag>=$p_totales)
{
$p_ini="".($p_totales-$p_grupos_paginados)+(1)."";
$p_end="".$p_totales."";
$back='<a href=?pag='.($pag-1).'>< </a>';
$next='<a href=?pag='.($pag+1).'>> </a>';
$p_ini_e="".($p_n_elements)-($p_number_elementos_pag)+(1)."";
$p_end_e="".$p_n_elements."";
}
else
{
if (($pag)+($p_grupos_paginados)>=$p_totales)
{
$p_ini="".($p_totales)-($p_grupos_paginados)+(1)."";
$p_end="".$p_totales."";
}
else
{
$p_ini="".($pag)."";
$p_end="".($p_ini)+($p_grupos_paginados)-(1)."";
}
if (($pag)*($p_number_elementos_pag)>$p_n_elements)
{
$p_ini_e="".($p_n_elements)-($p_number_elementos_pag)+(1)."";
$p_end_e="".$p_n_elements."";
}
else
{
$p_end_e="".($pag)*($p_number_elementos_pag)."";
$p_ini_e="".($p_end_e)-($p_number_elementos_pag)+(1)."";
}
$back='<a href=?pag='.($pag-1).'>< </a>';
$next='<a href=?pag='.($pag+1).'>> </a>';
}
}
?>
<?php
print "<table width=50% border=0 cellpadding=0 cellspacing=1 align=center valign=middle>
<tr>
<td align=center valign=middle colspan=$pages>
</td>
</tr><tr>";
?>
<?php
$x=$p_ini_e-1;
echo "<b>$p_ini_e $p_end_e</b>";
for($i=$p_ini_e;$i<=$p_end_e;$i++)
{
print "<td align=center valign=middle>";
echo $f_files[$x];
print "</td>";
if (($i)%$p_cols==0)
{
print "</tr>";
}
else
{
}
$x++;
}
print "</table>";
?>
<?php
echo $back_total;
echo $back;
for($i=$p_ini;$i<=$p_end;$i++)
{
print "<a href=?pag=".$i.">".$i."</a> ";
}
echo $next;
echo $next_total;
?>
Para testearlo crear un archivo de texto ejemplo.txt con saltos de linea con cualquier valor nada más
El problema es que los elementos no salen en las columnas indicadas por eso que lo de par impar no me funciona , el script este que he hecho podrá paginar resultados pro salto d elinea en campos de texto como directorios o imágenes
Pero me falla eso
El actual caso que pongo es leyendo un archivo con saltos de linea
Saludos