Ejemplo de sistema de paginacion

esta muy bueno este ejemplo de paginacion pero no puedo implementarlo en mi web porque el codigo que el dreamweaver incluye automaticamente confunde, intentente pero no he podido, se los dejo
http://www.mediafire.com/download/iqyy5bb8t3bp113/paginacion.zip
a ver si ustedes logran incluirlos ...seguire investigando para dar la solucion
5
Puntos
9
Resp
3597
Visitas
Por bladedeybis hace 42 meses
Avanzado offline

Recomendados

Respuesta #1

alguien logro implementarlo?
0
Puntos
Por bladedeybis hace 41 meses
Avanzado offline

Respuesta #2

Hola, había leído esto hace ya tiempo y no le paré. Ahora que leo tu pregunta, veo que estás interesado y me he puesto a experimentar y probar. El hecho es que lo he conseguido, quizás debo hacerle unos arreglos pero funciona bien. Casualmente conseguí ésta página donde muestran lo que está en el archivo .zip que tú dejaste.

ver web

Ya que he conseguido que funcione, si tienes alguna duda pues dime e intentaré ayudarte. Saludos
0
Puntos
Por Jose hace 41 meses
Experto offline

Respuesta #3

quiero implemntearlo porque cuando haces la pagina web con dreamweaver te inserta varios codigos hey intentado pero no pude si me pudieras echar una manito porfa www.tiendaslibres.com/apuntes
0
Puntos
Por bladedeybis hace 41 meses
Avanzado offline

Respuesta #4

Veo que ya tienes tu página con paginación (con los botones siguiente y anterior). ¿Quiéres quitar ese y colocar el otro?
0
Puntos
Por Jose hace 41 meses
Experto offline

Respuesta #5

claro como el del ejeploooooooo
0
Puntos
Por bladedeybis hace 41 meses
Avanzado offline

Respuesta #6

Bueno me funcionó bien. La clave está en dos funciones que tiene mySQL llamadas:

sql_calc_found_rows que calcula el número de resultados de una consulta.
found_rows() obtiene el resultado del último sql_calc_found_rows ejecutado.

Bien, trata de hacer esto a mano para que Dreamviewer no te genere otros códigos. A mano me refiero a escribirlo tu mismo en el documento sin usar las opciones de Dreamviewer.
En la página donde se encuentra el listado, vas a colocar..
// En el body

<?php
mysql_connect("localhost", "root", "clave");
mysql_select_db("tabla");

// Máximo de resultados por página.
$LimitePagina = 5;                            <- Eligue el numero máximo que quieres ver

// Pedir el número de página
if (isset($_GET['pag'])){
   $Pagina = (int) $_GET["pag"]; 
   if ($Pagina < 1){ 
            $Pagina = 1; 
   } 
}else{
    $Pagina = 1;
}
$ResultadoDesde = ($Pagina-1) * $LimitePagina;


// Consulta de datos
$SQL_SacarDatosPost = 'select sql_calc_found_rows * from TABLA  order by id desc LIMIT '.$ResultadoDesde.','.$LimitePagina.'';
$SQL_Total = 'select found_rows() as total';
$SacarDatosPost = mysql_query($SQL_SacarDatosPost);
$Rs_Total = mysql_query($SQL_Total);
$rowTotal = mysql_fetch_assoc($Rs_Total);
// Total de registros sin limit
$Total = $rowTotal["total"];


// Sacar la información de la base de datos y colocarla como post.
while($SacarPost=@mysql_fetch_assoc($SacarDatosPost)) {
?>
Luego, se supone que irá el contenido por ejemplo:
<div id="listado">
       <div id="titulo><?php echo $SacarPost['titulo']; ?></div>
       <br>
       <div id="entrada"><?php echo $SacarPost['contenido']; ?></div>
</div>
Todo depende de como tú hayas creado tu página

Bien, ahora colocarás de último la función que te va a permitir seleccionar el número de página a la cual quieres ir.. Esto va afuera de el while. Es decir, antes de hacer ésto recuerda haber cerrado las llaves del while.
<div id="paginacion">
	<ul>
		<?php
			// Total de Páginas
			$TotalPagina = ceil($Total/$LimitePagina);
			$links = array();
			for( $i=1; $i<=$TotalPagina ; $i++)
			{
	        	$links[] = '<li><a href="?Pagina='.$i.'">'.$i.'</a></li>';
			}
				echo implode($links);
		?>
	</ul>
</div>
Yo le hice un estilo al <div id="paginación">, al <ul> y al <li> para que se vea mejor. Espero haberte ayudado y cualquier duda escribe aquí.

0
Puntos
Por Jose hace 41 meses
Experto offline

Respuesta #7

Estuve haciendo unas pruebas en mi proyecto, me di cuenta que si tengo 300 págnias, me saldrán 300 <li> </li>. Cada uno con el número de página.. Otro día me pondré a experimentar para hacer que tenga un límite, por los momentos hice un cambio para que me salgan los botones de SIGUIENTE y ANTERIOR. Como aquí en Datoweb.

Lo único que hay que hacer es reemplazar el <div id="paginacion"> ... </div> por lo siguiente.
<div id="paginacion">
	<?php
	// Total de Páginas
	$TotalPagina = ceil($Total/$LimitePagina);
	// Boton de siguiente y anterior.
	if ($TotalPagina != 1) {
		if ($Pagina == 1) {
			echo '<a href="?Pagina='.($Pagina+1).'"><div id="boton_paginacion">Siguiente</div></a>';
		} else if (($Pagina > 1) and ($Pagina < $TotalPagina)) {
			echo '<a href="?Pagina='.($Pagina-1).'"><div id="boton_paginacion">Anterior</div></a>';
			echo '<a href="?Pagina='.($Pagina+1).'"><div id="boton_paginacion">Siguiente</div></a>';
		} else {
			echo '<a href="?Pagina='.($Pagina-1).'"><div id="boton_paginacion">Anterior</div></a>';
		}
	}
	?>
</div>
Colocaré la CSS para que vean como quedó mi estilo, CSS que pueden modificar a su gusto por supuesto.
/* Botones */

#boton_paginacion {
	width:100px;
	color:#ffffff;
	font-size: 12px;
	text-shadow:-1px -1px 1px #333333;
	height:20px;
	border-radius: 2px;
	border: 1px solid #0054a6;
	background: #307ec9;
	text-align: center;
	line-height: 20px;
	margin-left: 8px;
	float: left;
}
0
Puntos
Por Jose hace 41 meses
Experto offline

Respuesta #8

pon la consulta que tienes osea el SELECT y lo pruebo
0
Puntos
Por zeuskx hace 41 meses
Administrador offline

Respuesta #9

Esta es la consulta, con todas las condiciones.. El limite de página, etc..
<?php
// SACAR DATOS DE LOS POST
// Conexion y Seleccion de la base de datos.
$conexion;
$selectDataBase;
// Páginación
// Maximo por pagina
$LimitePagina = 3;
// Pagina solicitada
if (isset($_GET['Pagina'])) {
	$Pagina = (int) $_GET["Pagina"]; 
	if ($Pagina < 1) { 
		$Pagina = 1; 
	}
} else {
	$Pagina = 1;
}
$ResultadoDesde = ($Pagina-1) * $LimitePagina;
// Consulta de datos
$SQL_SacarDatosPost = 'select sql_calc_found_rows * from '.$entradaTable.'  order by id desc LIMIT '.$ResultadoDesde.','.$LimitePagina.'';
$SQL_Total = 'select found_rows() as total';
$SacarDatosPost = mysql_query($SQL_SacarDatosPost);
$Rs_Total = mysql_query($SQL_Total);
$rowTotal = mysql_fetch_assoc($Rs_Total);
// Total de registros sin limit
$Total = $rowTotal["total"];
// Total de Páginas
$TotalPagina = ceil($Total/$LimitePagina);
?>
<?php
if ($Pagina > $TotalPagina) {
	echo '<div id="content">';
	echo 'Ésta página no tiene resultados que mostrar.';
	echo '</div>';
} else {
while($SacarPost=@mysql_fetch_assoc($SacarDatosPost)) {
$SQL_NombreUsuario = mysql_query('select id,nombre from '.$userTable.' where id ="'.$SacarPost['autor'].'"');
if ($NombreUsuario=@mysql_fetch_assoc($SQL_NombreUsuario)) {
?>

<!-- CONTENIDO QUE TENDRÁ LA INFORMACION -->

<?php } } ?>
0
Puntos
Por Jose hace 41 meses
Experto offline
Para comentar Inicia sesión o Registrate