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
http://www.mediafire.com/download/iqyy5bb8t3bp113/paginacion.zip
a ver si ustedes logran incluirlos ...seguire investigando para dar la solucion
5
Puntos
Puntos
6197
Visitas
Visitas
9
Resp
Resp
Por bladedeybis hace 127 meses
Avanzado
Respuesta #1
alguien logro implementarlo?
0
Puntos
Puntos
Por bladedeybis hace 127 meses
Avanzado
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
ver web
Ya que he conseguido que funcione, si tienes alguna duda pues dime e intentaré ayudarte. Saludos
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
Puntos
Por bladedeybis hace 127 meses
Avanzado
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?
Respuesta #5
claro como el del ejeploooooooo
0
Puntos
Puntos
Por bladedeybis hace 127 meses
Avanzado
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..
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.
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í.
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.
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; }
Respuesta #8
pon la consulta que tienes osea el SELECT y lo pruebo
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 } } ?>