entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Paginar un arreglo en PHP

¿Alguien me podria ayudar a como paginar este arreglo?

//conexion 

     $connect = mysqli_connect("localhost", "root", "", "btitt"); 
      $query = "select publi.id_p,publi.id_e, empresa.imagen, empresa.nombre_e, empresa.direccion_e, empresa.telefono_e, empresa.correo_e, publi.puesto_p, publi.carrerae_p, publi.requisitos_p, publi.descripcion_p from publi, empresa  where id_em = id_e AND fechlim > CURDATE() AND carrerae_p LIKE  '%$dato%'   ORDER BY id_p DESC ";  

      $result = mysqli_query($connect, $query);  
      $output .= '  
      <div>  
           <table border="0" align="center" class="thumbnai">' ; 

      while($row = mysqli_fetch_array($result))  
      {  
           $output .= "
         <tr align='center'>  
    <td></td>
    <tr><td width='50%'><h4>".$row['nombre_e']."</h4></td></tr>
<td width='50%'>".$row['puesto_p']."</td>       

<td width='50%' align='right'>
    <img src=".$row['imagen']." width='60%' height='10%'>
    </td>
    </tr>
      <tr>
      </tr>
      </td><td width='50%'>".$row['carrerae_p']."</td></tr>

      <tr> <td width='20%'>".$row['direccion_e']."</td></tr>   

     <tr> <td width='50%'>".$row['telefono_e']."</td><tr>
      <tr><td width='50%'>".$row['correo_e']." </td> 

     </tr> 

     <tr align='center'>
      <td>
 <a href=' javascript:post(".$row['id_e'].",".$row['id_p'].",".$_POST['ses'].");' class='btn btn-primary' >Postularme</a>

  <input type='button' name='ver' value='Ver Mas' id='".$row['id_p']."' class='btn btn-success ver' >

</td>
</tr>   

           ";    
      }  

      $output .= '  
           </table>  
      </div>  
      ';  

      echo $output;

      }
?>

1 Respuesta

4votos

Leonardo-Tadei Puntos227320

Hola @luis,

no se paginan los arreglos, sino las querys al momento de ejecutarlas con la cláusula LIMIT.

Buscando "paginación mysqli php" aparecen varios ejemplos, como por ejemplo este:

$intTotalPerPage = 10;
$intPage = isset($_GET['page']) && ctype_digit($_GET['page']) ? (int) $_GET['page'] : 0;

$strSqlQuery = "SELECT * FROM posts WHERE status != ? ORDER BY `id` ASC LIMIT ?, ?";
$strStatus = 'draft';
$intStart = ($intPage * $intTotalPerPage);
$intLimit = $intTotalPerPage;
$objDbLink = mysqli_connect("...");
$objGetResults = mysqli_prepare($objDbLink, $strSqlQuery);
mysqli_stmt_bind_param($objGetResults, 'sii',  $strStatus, $intStart, $intLimit);

//Acá tenés que ejecutar la query resultante
//y mostrar los resultados

// Acá se cuentan los registros para armar el paginador
$objTotalRows = mysqli_query("SELECT COUNT(id) AS total FROM posts WHERE status != 'draft'");
$arrTotalRows = mysqli_fetch_assoc($objTotalRows);

$intTotalPages = ceil($arrTotalRows['total'] / $intTotalPerPage);
// Acá se generan los enlaces para paginar el resultado
for ($i = 0; $i <= $intTotalPages; $i++) {
    echo "<a href='?page=" . $i . "'>[" . $i . "]</a>&bsp;";
}

Saludos cordiales!

1voto

luis comentado

Muchísimas gracias me aclaraste muchas dudas...!!! excelente aporte

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta