Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2016, 11:26
Avatar de mazaku
mazaku
 
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
imagenes en carpeta si muestro una imagen desordena pero si muestro todas las ordena

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:&nbsp;<?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