Autor Tema: [TUTO] Páginador Simple[!]  (Leído 1658 veces)

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
[TUTO] Páginador Simple[!]
« en: 09 de Octubre de 2007, 16:40:52 pm »
EDITADO: Nueva modificación, acabo de insertar también el paginador por numeros.

Buenas,

Ya hace tiempo que no hago ningún tutorial, y bueno pues voy ha hacer este ejejej

Este script lo voy a calificar como Sencillo, además que es simple utilizaremos cosas básicas como definición de variables, condicienes (if, else), conexión a base de datos, while, sprintf & print, nada más :)

Dicho esto...¡¡EMPECEMOS!!

<?php

#Datos SQL

#Datos de configuracion
$config = array(); // generamosa rray de configuracion
$config["tabla"] = ""//tabla de ha mostrar datos
$config["por"] = 30// datos por pagina (INT)

$desde = ($_GET["desde"] == "") ? "0" $_GET["desde"]; // $desde = si $_GET["desde"] esta vacia definimos como 0 sino demos que el valor es $_GET["desde"]

$sql sprintf("SELECT * FROM {$config["tabla"]} LIMIT %s,{$config["por"]}",
mysql_real_Escape_string($desde)); // El query lo definimos con sprintf, seleccionando todo de la tabla con limite $desde (limpiado para evitar ataques SQL Injection), hasta $desde+30.
$query mysql_query($sql); // Ejecutamos Sentencia SQL
$count mysql_num_rows($query);
while(
$fetch mysql_Fetch_array($query)) {
print 
$fetch["celda"] . " -> " $fetch["valor"]; // Aquí ponéis lo que queráis que salga...
}
print 
"<br><hr>";
if(
$desde != 0) {
print 
"<a href=\"?desde=".$desde-30."\"><< Atrás</a> - "// Decimos que si $desde es 0 no muestra atras, pero sino que si que lo muestre...
}
print 
"<a href=\"?desde=".$desde+30."\">Siguiente >></a>"// Siempre se podrá ir hacia adelante...
$pag $count/$config["por"]; // Numero de paginas con decimales
$explode explode(".",$pag); // Exploramos el numero decimal
$paginas $explode[0]+1// le decimos que queremos la parte entera 0.15, peus el 0 y le sumamos 1 para tener la pagina 1

for($i=0;$paginas<=$i;$i++){ // para i=0, que i para cuando sea mayor o igual que i, y le añadimos una cada vez
$num = ($i*$config["por"])-$limite// multiplicando i*limite-$limite nos dara el numero proximo para el get pagina 1*5=5-5=0 desde 0; pagina 2: 2*5=10-5 empieza desde 5 pagina 3(con 10 resultados) 3*10=30-10=20 desde 20 hasta 29
if($_GET["desde"] != $num) { 
print 
"<a href=&#39;?desde=".$num."&#39;>";//si n es num, que no se muestre el enlace.
}
print 
$i."</a>";

}
?>


Creo que lo he explicado bien, y que funciona, si no funciona avisarme, que lo corrijo que lo he ido haciendo sobre la marcha, teniá algo así yo en mis paginadores :P

Espero que os sirva.

Saludos :)
« Última modificación: 04 de Junio de 2009, 21:36:29 pm por FeDe »
Sin Firma me haces una? :P

Comunidad PHPeros

[TUTO] Páginador Simple[!]
« en: 09 de Octubre de 2007, 16:40:52 pm »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: [TUTO] Páginador Simple[!]
« Respuesta #1 en: 09 de Octubre de 2007, 17:04:56 pm »
Muy bueno para los newbies, y buen detalle este:
$desde = ($_GET["desde"] == "") ? "0" $_GET["desde"]; // $desde = si $_GET["desde"] esta vacia definimos como 0 sino demos que el valor es $_GET["desde"]
Ya lo habia visto antes pero no sabia ni como se hacia ni para que servia ni como era su "sintaxis" asi que nada, cada dia se sabe algo nuevo ¿No?

Saludos, te dejo un karma +!
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: [TUTO] Páginador Simple[!]
« Respuesta #2 en: 09 de Octubre de 2007, 17:22:25 pm »
Buenas,

Jeje, naveda dijo que lo iba a explicar pero bueno ya me adelanté yo, pero supongo que lo explicará más detalladamente jejej :P

pD: Gracias por el Karma :)

Saludos :P
Sin Firma me haces una? :P

Desconectado mOrK

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 1.503
  • Karma: 43
  • :)
    • Ver Perfil
    • Sígueme en Twitter!
Re: [TUTO] Páginador Simple[!]
« Respuesta #3 en: 09 de Octubre de 2007, 17:23:16 pm »
Te he corregido una cosa en el $sql, no habías cerrado un } ni el ), además que habías puesto una coma sin más :P Jeje

Buen tutorial, KARMA +!

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: [TUTO] Páginador Simple[!]
« Respuesta #4 en: 09 de Octubre de 2007, 17:31:53 pm »
Buenas,

Jeje, mOrk lo único que tenía mal era el } que me había escapado, la próxima vez me avisas, porque si te das cuenta sigo en la siguiente línea con el mysql_real_escape_string();

Saludos :P
« Última modificación: 09 de Octubre de 2007, 17:33:48 pm por FeDe »
Sin Firma me haces una? :P

Desconectado Ishamato

  • PHPero Avanzado
  • ****
  • Mensajes: 346
  • Karma: 3
  • Sexo: Masculino
  • PHPero adicto
    • Ver Perfil
Re: [TUTO] Páginador Simple[!]
« Respuesta #5 en: 09 de Octubre de 2007, 17:57:35 pm »
Buenaaa ^^

+ karma :P

<? echo "Aprendiendo y descubriendo poco a poco"; ?>

Desconectado mOrK

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 1.503
  • Karma: 43
  • :)
    • Ver Perfil
    • Sígueme en Twitter!
Re: [TUTO] Páginador Simple[!]
« Respuesta #6 en: 09 de Octubre de 2007, 18:13:57 pm »
Buenas,

Jeje, mOrk lo único que tenía mal era el } que me había escapado, la próxima vez me avisas, porque si te das cuenta sigo en la siguiente línea con el mysql_real_escape_string();

Saludos :P
mmm... cagada xD

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: [TUTO] Páginador Simple[!]
« Respuesta #7 en: 04 de Junio de 2009, 21:37:51 pm »
Buenas,

Perdón por reactivar este tema tan viejo, pero el tutorial ha sido modificado, le he añadido una cosita nueva... y nada que creo que para las nuevas personas con iniciación al PHP creo que les servirá mucho...

Un abrazo! =)
Sin Firma me haces una? :P