Foros del Web » Programando para Internet » PHP »

No puedo mostrar imagenes contenidas en arreglo asociativo

Estas en el tema de No puedo mostrar imagenes contenidas en arreglo asociativo en el foro de PHP en Foros del Web. Hola buenas tardes: Llevo batallando bastante rato con el siguiente código y no logro que se mustren las imagenes de un arreglo asociativo de clientes. ...
  #1 (permalink)  
Antiguo 25/09/2017, 12:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 1 mes
Puntos: 0
No puedo mostrar imagenes contenidas en arreglo asociativo

Hola buenas tardes:

Llevo batallando bastante rato con el siguiente código y no logro que se mustren las imagenes de un arreglo asociativo de clientes. Asumo que el inconveniente esta en la ruta donse se guardan las imagenes, pero he revisado y estan bien.. Agradezco la ayuda

Código HTML:
Ver original
  1.     <title></title>
  2.     <link rel="stylesheet"  href="estilo.css">
  3. </head>
  4.  
  5.     <header>
  6.         <h2 id="centrado">Listado Clientes - Imagenes</h2>
  7.     </header>
  8.     <section>
Código PHP:
Ver original
  1. <?php
  2.            
  3.             error_reporting(0);
  4.             $clientes=["1"=>"Martin Lopez","2"=>"Jose Rodriguez","3"=>"Carlos Carrasco","4"=>"Karla Rojas",
  5.                         "5"=>"Manuel Fernandez","6"=>"Ricardo Rios","7"=>"Fernando Gutierrez","8"=>"Lizbeth Garcia",
  6.                         "9"=>"Guillermo Gomez","10"=>"Maria Hilario","11"=>"Marco Diaz","12"=>"Karina Galvez",
  7.                         "13"=>"Julia Rubio","15"=>"Maria Celedonio"];
  8.  
  9.             //Determinar si hay paginas que mostrar
  10.             if(isset($_GET["pagina"]))
  11.                 $pagina=$_GET["pagina"];
  12.             else
  13.                 $pagina=1;
  14.  
  15.             //Invocar la funcion de paginacion
  16.             paginar($clientes,3,$pagina);
  17.  
  18.         ?>

Código HTML:
Ver original
  1.     <footer>
  2.         <h6 id="centrado">Ing Leonardo Alvis</h6>
  3.     </footer>
  4.  
  5. </body>
  6. </html>

Código PHP:
Ver original
  1. <?php
  2.  
  3.     function paginar($misClientes,$total,$pagina){
  4.         //Determinar la catidad de paginas que genera la cantidad de clientes
  5.         $paginas=ceil(count($misClientes)/$total);
  6.  
  7.  
  8.         //cocnfigurando el inicio de la paginacion
  9.         $inicio=($pagina-1)*$total;
  10.         $final=$pagina*$total;
  11.  
  12.         //Listando los productos de una tabla
  13.         echo '<table border="1" width="700" cellspacing="0" cellpadding="5">';
  14.         //echo '<tr>';
  15.  
  16.  
  17.         //Obtener los N registros
  18.         $paginado=array_slice($misClientes, $inicio,$final);
  19.  
  20.         echo '<tr><th>NOMBRE DEL CLIENTE</th>';
  21.         echo '<th>FOTO</th></tr>';
  22.  
  23.         //Listando los clientes y sus imagenes
  24.         for($i=$inicio;$i<$final;$i++){
  25.             list($codigo,$nombre)=each($paginado);
  26.             if(isset($misClientes[$codigo])){
  27.                 echo '<tr><td>'.$nombre.'</td>';
  28.                 echo '<td><img src="Imagenes/'.$codigo.'.jpg" width=140 height="140"/></td></tr>';
  29.             }
  30.             else
  31.                 break;
  32.         }
  33.         //echo '</tr>';
  34.  
  35.         //Mostrando las paginas
  36.         echo '<tr>';
  37.  
  38.         echo '<tr><td colspan="2" id="centrado">';
  39.         if($pagina>1)
  40.             echo "<a href=\"paginacionClientes.php?pagina=".($pagina-1)."\">Pagina Anterior</a>&nbsp";
  41.         for($i=1;$i<=$paginas;$i++){
  42.             if($i==$pagina)
  43.                 echo "<strong>$i</strong>&nbsp;";
  44.             else
  45.                 echo "<a href=\"paginacionClientes.php?pagina=$i\">$i</a>&nbsp;&nbsp";
  46.         }
  47.  
  48.         if($pagina<$paginas)
  49.             echo "<a href=\"paginacionClientes.php?pagina=".($pagina+1)."\">Pagina Sisguiente</a>";
  50.         echo "</td></tr>";
  51.         echo "</table>";
  52.         return;
  53.  
  54.  
  55.  
  56.  
  57.     }
  58.  
  59.  
  60.  
  61. ?>
  #2 (permalink)  
Antiguo 25/09/2017, 12:22
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: No puedo mostrar imagenes contenidas en arreglo asociativo

has revisado el codigo fuente de la impresion para ver si da algun error o como muestra la ruta??...

por otro lado, es bastante raro que tengas la tabla donde muestras los datos(incluyendo la imagen) en la misma funcion "paginar"...
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 25/09/2017, 12:25
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No puedo mostrar imagenes contenidas en arreglo asociativo

Si la pág. se carga correctamente el problema es la dirección del recurso.

Para serciorar, has esto var_dump(file_exists("Imagenes/$codigo.jpg"));

Para ver si el recurso existe.
  #4 (permalink)  
Antiguo 25/09/2017, 13:42
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: No puedo mostrar imagenes contenidas en arreglo asociativo

Hola muchas gracias por la ayuda... pues les cuento que cambié el ciclo for que muestra las imagenes, por un foreach asi..

foreach ($paginado as $codigo => $nombre) {
if(isset($codigo)){
echo '<tr><td>'.$nombre.'</td>';
echo '<td><img src="Imagenes/'.$codigo.'.jpg" width=140 height="140"/></td></tr>';
}
else
break;
}

En este caso me esta mostrando las imagenes pero curiosamente NO me muestra la imagen de la primera fila cuando salto de pagina. Todo esto me lleva a pensar que en el ciclo for que construi inicialmente la instrucción list($codigo,$nombre)=each($paginado); no esta funcionando como de bería de ser por que cuando llamo con el isset if(isset($misClientes[$codigo])) no existe el elemento. Pero la verdad no se por que. Como haría para que me salga esa imagen en la primera fila ya sea con el for o el foreach... Agradezco la ayuda

Etiquetas: arreglo, asociativo, html, imagenes, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:07.