Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/11/2015, 05:55
pedromir
 
Fecha de Ingreso: enero-2014
Mensajes: 91
Antigüedad: 10 años, 3 meses
Puntos: 2
mostrar contenido array segun criterio de paginacion

Hola a tod@s
Estoy aprendiendo a programar en php y necesito un poco de ayuda, mi problema es el siguiente:

Tengo un archivo index.php donde tengo un array, como ejemplo he puesto unos empleados, con la edad y la categoría y otro archivo paginacion.php donde tengo una función que hace que me liste los empleados pasándole por parámetros el array en cuestión, el límite de resultados a mostrar y la página solicitada, con la idea más adelante de incluir un input para realizar búsquedas, pues esta función al ser un array multidimensional no consigo que funcione, me deberia aparecer asi:
0 Maria 25 Administrativo
1 Antonio 45 Gerente comercial
Pero me coge como 0 el nombre del array[2] o sea, Susana y como 1 los años del array[2] también

codigo index.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. $empleados = array
  4.                 (
  5.                 array('Maria','25','Administrativo'),
  6.                 array('Antonio','45','Gerente comercial'),
  7.                     array('Susana','37','Gerente RR.HH.'),
  8.                 array('Luis','28','Administrativo'),
  9.                 array('Antonio','38','Mozo Almacén'),
  10.                     array('Susana','37','Gerente RR.HH.'),
  11.                 array('Maria','25','Administrativo'),
  12.                 array('Antonio','45','Gerente comercial'),
  13.                     array('Susana','37','Gerente RR.HH.'),
  14.                 array('Maria','25','Administrativo'),
  15.                 array('Antonio','45','Gerente comercial'),
  16.                     array('Susana','37','Gerente RR.HH.')
  17.                 );
  18.  
  19.    require ("paginar.php");
  20.  
  21. //recorremos el array empleados y cada uno de los nombres
  22.    
  23. foreach($empleados as $personas)
  24.     {
  25.    
  26.     foreach($personas as $nombre)
  27.         {
  28.             $nombre;
  29.        
  30.         }
  31.    
  32.     }  
  33.    
  34.    if (isset($_GET[p]))
  35.       $p = $_GET[p];
  36.    else
  37.       $p=1;      
  38.  
  39. //Aqui ponemos el número de elementos que queremos que aparezca por página, en este caso 2
  40.    paginar($personas, 2, $p);
  41. ?>
codigo paginar.php
Código PHP:
Ver original
  1. <?php
  2. function paginar($personas, $l, $p) {
  3. // DEFINIMOS LA CANTIDAD DE PÁGINAS
  4. $paginas = ceil(count($p) / $l);
  5. // CONDICION DE INICIO
  6. $inicio = ($p-1)*$l;
  7.      
  8. // CONDICION DE FINAL
  9. $final = $p*$l;
  10.  
  11. // MOSTRAMOS LOS ITEMS RESPECTIVOS
  12.      echo '<div id="resultados">';
  13.       for ($i=$inicio; $i<$final; $i++) {
  14.          if (isset($personas[$i]))
  15.             echo "<div id=\"item\">$i.- $personas[$i]</div>";
  16.          else
  17.             break;
  18.       }
  19.       echo '</div>';
  20.  
  21. // LISTAMOS LAS PÁGINAS
  22.       echo '<div id="paginas">';
  23.       if ($p>1)
  24.          echo "<a href=\"index.php?p=" . ($p-1) . "\">P&aacute;gina Anterior</a>&nbsp;-&nbsp;";
  25.      
  26.       for ($i=1; $i<=$paginas; $i++) {
  27.          if ($i == $p)
  28.             echo "<strong>$i</strong>&nbsp;";
  29.          else
  30.             echo "<a href=\"index.php?p=$i\">$i</a>&nbsp;";
  31.       }
  32.      
  33.       if ($p<$paginas)
  34.          echo "&nbsp;-&nbsp;<a href=\"index.php?p=" . ($p+1) . "\">P&aacute;gina Siguiente&nbsp;</a>";
  35.       echo '</div>';
  36.  
  37. return;
  38.    }
  39. ?>