Buenas tardes amigos. tengo el siguiente problema, ya que estoy queriendo mostrar las imágenes de una carpeta donde le paso la ruta a través de la bd. Quiero solo mostrar una imagen con opcion de dar siguiente y atras.
pero mi problema es que si muestro todas las imágenes me las muestra correctamente en orden es decir
00.jpg
01.jpg
02.jpg
03.jpg
04.jpg
pero al momento de mostrar solo una imagen con el paginador me las muestra asi
00.jpg
03.jpg
02.jpg
04.jpg
este codigo lo saque de otra conversacion de forosdelweb, pero no logro adaptarlo a lo que quiero y no se cual sea el error de que me las desordene al mostrar solo una imagen.
Código:
<?php
include ('conexion.php');
$c_id = $_GET['id']; // Esto recoje los datos de la variable id en la url.
$registros = "SELECT * FROM capitulos WHERE c_id='$c_id'";
$result = $objeto->query($registros);
while ( $row = $result->fetch_array() )
{
// para leer el directorio
$ruta = "".$row['ruta']."/";
$filehandle = opendir($ruta);
while ($file = readdir($filehandle)) {
if ($file != "." && $file != ".." ) {
$arch=$file;
$archi=$arch.'*'.$archi;
}
}
closedir($filehandle);
}
// paginando
$archivosfile=explode("*", $archi);
$currentpage = $_SERVER['PHP_SELF']; // pagina en la que se encuentra
$total=(count($archivosfile)-1);
$maxRows_Blogdenotas = 1; // cantidad maxima de archivos a mostrar por pagina
$pageNum_Blogdenotas = 0;
if (isset($_GET['pag'])) {
$pageNum_Blogdenotas = intval($_GET['pag']);
}
$startRow_Blogdenotas = $pageNum_Blogdenotas * $maxRows_Blogdenotas;
if (isset($_GET['pag'])) {
$pageNum_Blogdenotas = intval($_GET['pag']);
}
$startRow_Blogdenotas = $pageNum_Blogdenotas * $maxRows_Blogdenotas;
$totalRows_Blogdenotas = $total;
$totalPages_Blogdenotas = ceil($totalRows_Blogdenotas/$maxRows_Blogdenotas)-1;
$archivos = array_slice($archivosfile, $startRow_Blogdenotas, $maxRows_Blogdenotas);
// paginando
?>
Total Archivos: <?php echo $total; ?><br /><br />
<table border="0">
<tr>
<td><?php if ($pageNum_Blogdenotas > 0) { // Show if not first page ?>
<a href="<?php echo $currentpage; ?>?id=<?php echo $c_id; ?>&pag=0">Primero</a>
<?php }else{ // Show if not first page ?>
<span class="style1">Primero</span> <?php } ?> </td>
<td><?php if ($pageNum_Blogdenotas > 0) { // Show if not first page ?>
<a href="<?php echo $currentpage; ?>?id=<?php echo $c_id; ?>&pag=<?php echo htmlentities($_GET['pag']-1); ?>">Anterior</a>
<?php }else{ // Show if not first page ?>
<span class="style1">Anterior</span> <?php } ?> </td>
<td><?php if ($pageNum_Blogdenotas < $totalPages_Blogdenotas) { // Show if not last page ?>
<a href="<?php echo $currentpage; ?>?id=<?php echo $c_id; ?>&pag=<?php echo htmlentities($_GET['pag']+1); ?>">Siguiente</a>
<?php }else{ // Show if not last page ?>
<span class="style1">Siguiente</span> <?php } ?> </td>
<td><?php if ($pageNum_Blogdenotas < $totalPages_Blogdenotas) { // Show if not last page ?>
<a href="<?php echo $currentpage; ?>?id=<?php echo $c_id; ?>&pag=<?php echo $totalPages_Blogdenotas ?>">Ultimo</a>
<?php }else{ // Show if not last page ?>
<span class="style1">Ultimo</span> <?php } ?> </td>
</tr>
</table>
<div> Mostrando <?php echo ($startRow_Blogdenotas + 1) ?> a <?php echo min($startRow_Blogdenotas + $maxRows_Blogdenotas, $totalRows_Blogdenotas) ?> de <?php echo $totalRows_Blogdenotas ?></div><br /><br />
<?php
sort($archivos);
foreach ($archivos as $archivo) {
echo '<img src="'.$ruta.$archivo.'" />'; }
?>
Si le pongo por ejemplo aqui 20
Código:
$maxRows_Blogdenotas = 20; // cantidad maxima de archivos a mostrar por pagina
muestra las imagenes ordenas
pero si le cambio a solo muestre una
Código:
$maxRows_Blogdenotas = 1; // cantidad maxima de archivos a mostrar por pagina
me las desordena
saludos y muchas gracias por su apoyo