InicioInfoSistema de paginacion PHP - MYSQL



Sistema de paginacion PHP - MYSQL

Este es un sistema para paginar la informacion de la base de datos asi como los resultados de google, cuando entras a una tienda online para seguir viendo los resultados tienes que cambiar de pagina dando click en siguiente.

Este sistema es muy dificil de hacer, dure como 20 dias tratando de hacerlo correr, quien este viendo este post esta privilegiado de tener el codigo funcional correctamente.

Por favor revisen mis otros post de taringa que tengo mas codigos importantes dificiles de conseguir y de hacer.


/**************************************/
/**** OBSERVACION *******/

Para los primiparos que no saben nada de desarrollo web, siempre se usan alguno de estos dos programas wampserver o xampp que son servidores locales son programas que actuan como un servidor y nos permiten probar nuestros proyectos web, yo uso wampserver asi que wamp server en la carpeta de instalacion del programa hay una carpeta llamada www ahi colocaran siempre el codigo ahi es donde pegaran este codigo en la carpeta que creen, luego se van al navegador y escriben localhost/nombrecarpeta/nombrearchivo.php

wampserver trae instalado phpmyadmin que permite gestionar la base de datos mysql igualmente xampp, en xampp la carpeta se llama htdocs ahi pegaran el proyecto esa carpeta esta en el directorio del programa cuando lo instalas.

en wampserver revisas el icono que este en verde ahi en la barra de windows donde esta el reloj sino esta en verde tienes que cambiar el puerto seguro generara conflicto averiguas como cambiar el puerto de apache.

En xampp dan click en iniciar osea en start donde dice apache dan click en start y luego en mysql igualmente start.

1. crearan un archivo llamado index.php y pegaran el siguiente codigo que es el sistema de paginacion.




<?php

//conexion a la base de datos
$host="localhost";
$user="root";
$pass="";
$db="paginacion";
$tabla="clientes";

//conectamos con la base de datos

$con=mysql_connect($host,$user,$pass);
mysql_select_db($db,$con);

//establecemos condiciones de paginacion
$registros = 6;

@$pagina = $_GET ['pagina'];

if (!isset($pagina))
{
$pagina = 1;
$inicio = 0;
}
else
{
$inicio = ($pagina-1) * $registros;
}

//realizamos la busqueda en la base de datos
$pegar = "SELECT * FROM $tabla ORDER BY id ASC LIMIT ".$inicio." , ".$registros." ";
$cad = mysql_query($pegar,$con) or die ( 'error al listar, $pegar' .mysql_errno());

//calculamos las paginas a mostrar

$contar = "SELECT * FROM $tabla";
$contarok = mysql_query($contar,$con);
$total_registros = mysql_num_rows($contarok);
$total_paginas = ($total_registros / $registros);

//imprimiendo los resultados

echo '<table align="center">';
echo '<tr><th width="100 align="center">ID</th>';
echo '<th width="200" align="center">NOMBRE</th>';
echo '<th width="200" align="center">DIRECCION</th>';
echo '<th width="200" align="center">TELEFONO</th>';
echo '<th width="200" align="center">EDAD</th> </tr>';


while ($array = mysql_fetch_array($cad))

{

echo '<tr>';
echo '<td width="100" align="center">'.$array['id']. '</td>';
echo '<td width="200" align="center">'.$array['nombre']. '</td>';
echo '<td <width="200" align="center">'.$array['direccion']. '</td>';
echo '<td width="200" align="center">'.$array['telefono']. '</td>';
echo '<td width="200" align="center">'.$array['edad']. '</td>';
echo '</tr>';


}

/* ==============================================*/


//creando los enlaces de paginacion de resultados

echo "<center><p>";

if($total_registros>$registros){
if(($pagina - 1) > 0) {
echo "<span class='pactiva'><a href='?pagina=".($pagina-1)."'>&laquo; Anterior</a></span> ";
}
// Numero de paginas a mostrar
$num_paginas=10;
//limitando las paginas mostradas
$pagina_intervalo=ceil($num_paginas/2)-1;

// Calculamos desde que numero de pagina se mostrara
$pagina_desde=$pagina-$pagina_intervalo;
$pagina_hasta=$pagina+$pagina_intervalo;

// Verificar que pagina_desde sea negativo
if($pagina_desde<1){ // le sumamos la cantidad sobrante para mantener el numero de enlaces mostrados $pagina_hasta-=($pagina_desde-1); $pagina_desde=1; } // Verificar que pagina_hasta no sea mayor que paginas_totales if($pagina_hasta>$total_paginas){
$pagina_desde-=($pagina_hasta-$total_paginas);
$pagina_hasta=$total_paginas;
if($pagina_desde<1){
$pagina_desde=1;
}
}

for ($i=$pagina_desde; $i<=$pagina_hasta; $i++){
if ($pagina == $i){
echo "<span class='pnumero'>".$pagina."</span> ";
}else{
echo "<span class='pactiva'><a href='?pagina=$i'>$i</a></span> ";
}
}

if(($pagina + 1)<=$total_paginas) {
echo " <span class='pactiva'><a href='?pagina=".($pagina+1)."'>Siguiente &raquo;</a></span>";
}
}








echo "</p></center>";



?>







2 . crearan la base de datos llamada paginacion y luego crearan una tabla llamada clientes en mysql, en la consola de phpmyadmin pegan el siguiente codigo y se creara la tabla.

Cuando creen alguna tabla en mysql usen este comando que les permitira ver como esta hecha una tabla y ver sus llames foraneas o primary key para ver los nombres de las restricciones y poder borrarlas cuando quieran.

El comando es :

show create table nombredelatabla

CREATE TABLE `clientes` (
`id` int(40) NOT NULL AUTO_INCREMENT,
`nombre` varchar(40) DEFAULT NULL,
`direccion` varchar(40) DEFAULT NULL,
`telefono` int(40) DEFAULT NULL,
`edad` int(40) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1




IMPORTANTE

Deben ir en phpmyadmin a la opcion insertar vallan inserten datos si tienen filas llenas mayor a 6 no creo que les genere problema porque si la tienen vacia si, es de acuerdo a los limites de configuracion que le metan al codigo para mostrar los resultados.
Datos archivados del Taringa! original
0puntos
152visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
0visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

No hay comentarios nuevos todavía

Autor del Post

n
nicolait🇦🇷
Usuario
Puntos0
Posts33
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.