You are here
Simple paginación con PHP Sin categoría 

Simple paginación con PHP

Simple paginación con PHP

La Simple paginación con PHP puede complicarse dependiendo del tamaño de los registros de la base, sobre todo cuando se quiere número de grupo de enlaces, enlaces / mostrar próximos anteriores etc.

En este tutorial nos centraremos en la creación sencilla de paginación PHP MySQL.

Vamos a crear base de datos MySQL

Un archivo de SQL Server se incluye en el archivo de secuencia de comandos completa adjunta. Por favor, cree una base de datos MySQL en primer lugar, a continuación, importar el archivo .sql.(Esto es sólo para este propósito tutorial, pero usted puede utilizar su propia base de datos, así si ya ha creado.)

Conexión de base de datos:

Vamos a empezar con el archivo de conexión de base de datos para almacenar nuestra base de datos MySQL nombre de usuario y contraseña, y también para conectarse a MySQL con PHP mysqli_connect ().

Si nota que estamos utilizando mysqli_connect PHP () aquí, no mysql_connect regular (), i = Soportes para la mejora de la ampliación, desarrollado para aprovechar las nuevas características que se encuentran en los sistemas más nuevos de MySQL. PHP anima a todos a utilizar mysqli_ * en lugar de mysql_ regulares * extensiones, que será totalmente eliminado en las futuras versiones de PHP.

Crear archivo connection.php y poner ese código php (siguiente) en el mismo.

1
2
3
4
5
6
$db_username = 'root'; // Your MYSQL Username.
$db_password = ''; // Your MYSQL Password.
$db_name = 'database_name_here'; // Your Database name.
$db_host = 'localhost';
 
$conDB = mysqli_connect($db_host, $db_username, $db_password,$db_name)or die('Error: Could not connect to database.');

la función de paginación:

Vamos a crear la función de paginación y lo almacenan en el archivo functions.php. (Estamos utilizando el archivo functions.php para almacenar esta función. Preferimos este método porque de esa manera, podemos añadir fácilmente funciones más atenta a nuestro archivo más adelante.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
function pagination($query,$per_page=10,$page=1,$url='?'){  
    global $conDB;
    $query = "SELECT COUNT(*) as `num` FROM {$query}";
    $row = mysqli_fetch_array(mysqli_query($conDB,$query));
    $total = $row['num'];
    $adjacents = "2";
     
    $prevlabel = "‹ Prev";
    $nextlabel = "Next ›";
    $lastlabel = "Last ››";
     
    $page = ($page == 0 ? 1 : $page); 
    $start = ($page - 1) * $per_page;                              
     
    $prev = $page - 1;                         
    $next = $page + 1;
     
    $lastpage = ceil($total/$per_page);
     
    $lpm1 = $lastpage - 1; // //last page minus 1
     
    $pagination = "";
    if($lastpage > 1){  
        $pagination .= "<ul class='pagination'>";
        $pagination .= "<li class='page_info'>Page {$page} of {$lastpage}</li>";
             
            if ($page > 1) $pagination.= "<li><a href='{$url}page={$prev}'>{$prevlabel}</a></li>";
             
        if ($lastpage < 7 + ($adjacents * 2)){  
            for ($counter = 1; $counter <= $lastpage; $counter++){
                if ($counter == $page)
                    $pagination.= "<li><a class='current'>{$counter}</a></li>";
                else
                    $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                   
            }
         
        } elseif($lastpage > 5 + ($adjacents * 2)){
             
            if($page < 1 + ($adjacents * 2)) {
                 
                for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>{$counter}</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                   
                }
                $pagination.= "<li class='dot'>...</li>";
                $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
                $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>"
                     
            } elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) {
                 
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>...</li>";
                for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>{$counter}</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                   
                }
                $pagination.= "<li class='dot'>..</li>";
                $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
                $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";     
                 
            } else {
                 
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>..</li>";
                for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {
                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>{$counter}</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                   
                }
            }
        }
         
            if ($page < $counter - 1) {
                $pagination.= "<li><a href='{$url}page={$next}'>{$nextlabel}</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>{$lastlabel}</a></li>";
            }
         
        $pagination.= "</ul>";       
    }
     
    return $pagination;
}

Visualización de registros de base de datos con paginación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
include_once('connection.php');
include_once('functions.php');
$page = (int)(!isset($_GET["page"]) ? 1 : $_GET["page"]);
if ($page <= 0) $page = 1;
$per_page = 10; // Set how many records do you want to display per page.
$startpoint = ($page * $per_page) - $per_page;
$statement = "`records` ORDER BY `id` ASC"; // Change `records` according to your table name.
 
$results = mysqli_query($conDB,"SELECT * FROM {$statement} LIMIT {$startpoint} , {$per_page}");
if (mysqli_num_rows($results) != 0) {
    
    // displaying records.
    while ($row = mysqli_fetch_array($results)) {
        echo $row&#91;'name'&#93; . '<br>';
    }
 
} else {
     echo "No records are found.";
}
 // displaying paginaiton.
echo pagination($statement,$per_page,$page,$url='?');

 CSS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ul.pagination {
    text-align:center;
    color:#829994;
}
ul.pagination li {
    display:inline;
    padding:0 3px;
}
ul.pagination a {
    color:#0d7963;
    display:inline-block;
    padding:5px 10px;
    border:1px solid #cde0dc;
    text-decoration:none;
}
ul.pagination a:hover,
ul.pagination a.current {
    background:#0d7963;
    color:#fff;
}

Paginación script

Acabamos de crear una función de PHP MYSQL simple paginación. Puede descargar el guión completo de la barra lateral derecha.

Haga clic en el botón Descargar archivo adjunto.

Funciones utilizadas:


Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Related posts