elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  paginar resultados de un while
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: paginar resultados de un while  (Leído 8,187 veces)
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
paginar resultados de un while
« en: 17 Junio 2011, 21:59 pm »

hace unos dias postie este script que suma 14 dias a la fecha definida
Código
  1. $inicio=strtotime('2011-01-05');
  2. $final=strtotime('2013-02-02');
  3. while($inicio <= $final) {
  4. echo  date("Y-m-d", $inicio)."<br>";
  5. $inicio= strtotime("+14 day", $inicio); }
ahora bien si la fecha final termina el 2013-01-05 s egeneraran un buen de fechas sumandole 14 dias desde la fecha de inicio hasta la fecfha final ya que son 2 años de diferencia ahora como puedo paginar esos resultados ? para que me muestre de 10 en 10 las fechas generadas


« Última modificación: 17 Junio 2011, 22:01 pm por RedZer » En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: paginar resultados de un while
« Respuesta #1 en: 18 Junio 2011, 00:03 am »

Aquí un poc, pero esta vez lo hice con array. Si estas tratando de hacer un paginador web ya seria otra tema y mucho mas facil.

Toca observar bien como funciona el source para entenderlo.

Código
  1. <?php
  2.  
  3. $pag = array();
  4.  
  5. $num = 30;//numero de registro, que serian total de la fechas...
  6.  
  7. //Recordando que es de 10 en 10
  8. $p = 0;
  9.  
  10. $result = array();
  11.  
  12. for($i = 10; $i <= 30;$i+=10){
  13. $p += 1;
  14.  
  15.  
  16. for($ii = $i; $ii >= ($i-10);$ii--){
  17.  
  18. $pag[$p][] = $ii;
  19. }
  20.  
  21. $result[] = array_reverse($pag[$p]);
  22. }
  23. print_r($result);
  24. ?>

Salida:
Código:
[yoya@Fedora yum.repos.d]$ php /var/www/html/prueba.php
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 1
            [2] => 2
            [3] => 3
            [4] => 4
            [5] => 5
            [6] => 6
            [7] => 7
            [8] => 8
            [9] => 9
            [10] => 10
        )

    [1] => Array
        (
            [0] => 10
            [1] => 11
            [2] => 12
            [3] => 13
            [4] => 14
            [5] => 15
            [6] => 16
            [7] => 17
            [8] => 18
            [9] => 19
            [10] => 20
        )

    [2] => Array
        (
            [0] => 20
            [1] => 21
            [2] => 22
            [3] => 23
            [4] => 24
            [5] => 25
            [6] => 26
            [7] => 27
            [8] => 28
            [9] => 29
            [10] => 30
        )

)


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: paginar resultados de un while
« Respuesta #2 en: 20 Junio 2011, 07:03 am »

encontre un scrip el cual me ayudo ha realizar lo que deceaba lo posteo por so alguien le es de utilidad

Código
  1. <?php
  2.  
  3. $inicio=strtotime('2011-01-05');
  4. $final=strtotime('2011-09-07');
  5. $contador=0;
  6. while($inicio <= $final) {
  7. $paginar[]= date("Y-m-d", $inicio)."<br>";
  8.  
  9.  
  10. $inicio= strtotime("+14 day", $inicio);
  11.  
  12.  
  13. $contador++;
  14. }
  15.  
  16. //$paginar = array("aki","ponemos","lo","que","sea","o","un","array","cualquiera","sin","importar","lo","que","tenga"); //el array a paginar
  17. $mostrar =10; //numero de elementos por pagina
  18. $cuantos = count($paginar); //para saber cuantos elementos tiene el array
  19. //$paginar = array_reverse($paginar); //para que muestre los nuevos primeros. Totalmente opcional
  20. $paginas = $cuantos / $mostrar; //numero de paginas
  21.  
  22. if (!isset($mostrar) or empty($mostrar) or !is_int($mostrar)) {
  23.    $mostrar = 5; //por si se te olvid?clarar $mostrar o no es entero le damos de valor 5
  24. }
  25. if (empty($_GET["pagina"])) { //si no hay pagina...
  26.    $desde =0; //principio de la primera pagina
  27.    $hasta = $desde + $mostrar; //fin de la primera pagina
  28. }
  29. if (!empty($_GET["pagina"])) { //si estamos en una pagina distinta de la primera...
  30.    $desde = (int)$_GET["pagina"]; //principio de la pagina X
  31.    if ($desde + $mostrar < $cuantos) { //si principio + 10 no es mayor a la cantidad de elementos
  32.        $hasta = $desde + $mostrar; //fin de la pagina X
  33. }else{
  34.    $hasta = $desde + ($cuantos - $desde); //por si $principio + 10 es superior al numero de elementos
  35. }
  36. }
  37.  
  38.  
  39. for ($i=$desde; $i<$hasta; $i++) {
  40.    echo $paginar[$i].'<br/>'; //mostramos los elementos de la pagina en la que estamos. Aqui que cada uno lo haga como buenamente pueda. xD
  41. }
  42.  
  43. for ($p=0; $p<=$paginas; $p++) {
  44. $dexde = $p * $mostrar; //para marcar el inicio de la siguiente pagina
  45. echo '<a href="paginar2.php?pagina='.$dexde.'">'.$p.'</a> - '; //mostramos la lista de paginas. Que cada uno las muestre como quiera
  46. }
  47. ?>
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: paginar resultados de un while
« Respuesta #3 en: 20 Junio 2011, 18:10 pm »

Ah, pensabas hacer un paginador... Por eso te pregunte si era un paginador web o era alguna forma de tener organizado los datos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: paginar resultados de un while
« Respuesta #4 en: 20 Junio 2011, 18:54 pm »

Ah, pensabas hacer un paginador... Por eso te pregunte si era un paginador web o era alguna forma de tener organizado los datos.
jaja ~ Yoya ~ si era un paginador lo que deceaba hacer pero como nunca abia paginado sin resultados de bd no sabia como hacerlo , aparte no te entendi lo que me preguntaste :laugh: por eso ya no dije nada pero igual gracias ~ Yoya ~
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: paginar resultados de un while
« Respuesta #5 en: 20 Junio 2011, 20:28 pm »

tube un problema resulta que si me pagina los resultados que me aroja el ciclo pero como yo muestro los resultados dentro de una tabla para que seva mas decente resulta que solo me pagina la fecha tengo esto
Código
  1. <table width="200" border="1">
  2.  <tr>
  3.    <td>num</td>
  4.    <td>fecha</td>
  5.  </tr>
  6. <?php
  7.  
  8. $inicio=strtotime('2011-01-05');
  9. $final=strtotime('2011-12-07');
  10. $contador=0;
  11. while($inicio <= $final) {
  12.  
  13. echo"<tr>";
  14.  echo " <td>". $paginar[]=date("Y-m-d", $inicio)."<br>"."</td>";
  15. $inicio= strtotime("+14 day", $inicio);
  16.  
  17. echo" <td>$contador</td>
  18.  </tr>";
  19.  
  20.  
  21. $contador++;
  22. }
  23.  
  24. include("paginar.php");
  25. ?></table>
  26.  
 
paginar.php
Código
  1. <?php
  2.  
  3.  
  4. //$paginar = array("aki","ponemos","lo","que","sea","o","un","array","cualquiera","sin","importar","lo","que","tenga"); //el array a paginar
  5. $mostrar =10; //numero de elementos por pagina
  6. $cuantos = count($paginar); //para saber cuantos elementos tiene el array
  7. $paginar = array_reverse($paginar); //para que muestre los nuevos primeros. Totalmente opcional
  8. $paginas = $cuantos / $mostrar; //numero de paginas
  9.  
  10. if (!isset($mostrar) or empty($mostrar) or !is_int($mostrar)) {
  11.    $mostrar = 5; //por si se te olvid?clarar $mostrar o no es entero le damos de valor 5
  12. }
  13. if (empty($_GET["pagina"])) { //si no hay pagina...
  14.    $desde =0; //principio de la primera pagina
  15.    $hasta = $desde + $mostrar; //fin de la primera pagina
  16. }
  17. if (!empty($_GET["pagina"])) { //si estamos en una pagina distinta de la primera...
  18.    $desde = (int)$_GET["pagina"]; //principio de la pagina X
  19.    if ($desde + $mostrar < $cuantos) { //si principio + 10 no es mayor a la cantidad de elementos
  20.        $hasta = $desde + $mostrar; //fin de la pagina X
  21. }else{
  22.    $hasta = $desde + ($cuantos - $desde); //por si $principio + 10 es superior al numero de elementos
  23. }
  24. }
  25.  
  26.  
  27. for ($i=$desde; $i<$hasta; $i++) {
  28.    echo $paginar[$i].'<br/>'; //mostramos los elementos de la pagina en la que estamos. Aqui que cada uno lo haga como buenamente pueda. xD
  29. }
  30.  
  31. for ($p=0; $p<=$paginas; $p++) {
  32. $dexde = $p * $mostrar; //para marcar el inicio de la siguiente pagina
  33. echo '<a href="paginar2.php?pagina='.$dexde.'">'.$p.'</a> - '; //mostramos la lista de paginas. Que cada uno las muestre como quiera
  34. }
  35. ?>
  36.  

no se como puedo hacerle para que la tabla tambien me lo meta dentro de la paginacion ya que asi como lo tengo solo me pagina la fecha osea lo que esta en el areglo
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: paginar resultados de un while
« Respuesta #6 en: 21 Junio 2011, 15:50 pm »

No entendí nada, escribe un poco mejor.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: paginar resultados de un while
« Respuesta #7 en: 21 Junio 2011, 19:55 pm »

si yoya mira  asi como lo tengo sin meter en un areglo la fecha para que lo pagine me mostraria lo siguien
   2011-01-05
        2011-01-19
        2011-02-02
        2011-02-16
 me seguira mostrando fechas hasta que se cumpla la condicion del while y ala vez se le esta sumando 14 dias ala fecha ok
bueno lo siguiente que deceaba hacer era paginar estas fechas por que si la fecha de inicio empiesa el 2011-01-05 y la fecha final
termina el 2013-01-05 se generaran muchas fechas entonces por eso  las quiero paginar lo cual logro con el script que postie
y metiendolo en un areglo de esta manera
$paginar[]=date("Y-m-d", $inicio)."<br>";
$inicio= strtotime("+14 day", $inicio);
ahora bien aparte de la fecha deceo mostrar otros datos para lo cual ocupo una tabla html donde
los <td> se incrementaran dentro del while por ejemplo si deceo mostrar redzer durante las repedticiones
que se cumpla el while quedaria algo asi <td>RedZer</td><td>". $paginar[]=date("Y-m-d", $inicio)."<br>"."</td>";
$inicio= strtotime("+14 day", $inicio);

con esto se supone que me tendria que aparecer una tabla en donde me aparescan las fechas generadas y ala vez las repeticiones
de redzer  todo ordenado pero da la casualidad que no es asi por que por un lado me aparecen solo las fechas paginadas y del otro lado
las repeticiones de redzer es como si las fechas estuvieran fuera de la tabla si me explico podrias probar el codigo que postie arriba para que me entiendas
de que hablo porfa.
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: paginar resultados de un while
« Respuesta #8 en: 21 Junio 2011, 22:36 pm »

Ok ya lo probe, y no entiendo bien lo que quieres fuera y lo que se quede.

Captura:
http://i52.tinypic.com/dy9i0o.png

Me puedes indicar mejor, hay estructure un poco los elementos.

Si puedes, haz un ejemplo con una tabla htm. Osea como quisieras la salida y veo
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
RedZer


Desconectado Desconectado

Mensajes: 666



Ver Perfil
Re: paginar resultados de un while
« Respuesta #9 en: 21 Junio 2011, 23:05 pm »

aok mira basandonos en la imagen que subiste y conforme a los numeros ves el numero 1 las fechas quedan fuera de la tabla y si ves en el codigo esta dentro de un columna de la tabla  de la tabla ok, en el numero 2 y 3 asi es como yo quiero que aparezca todo en una tabla pero abajo la paginacion .
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda paginar resultados
PHP
over crash 5 3,316 Último mensaje 28 Diciembre 2006, 03:38 am
por DownRate
Paginar un pdf desde c#
.NET (C#, VB.NET, ASP)
joalbela 1 4,461 Último mensaje 17 Marzo 2011, 16:45 pm
por Novlucker
Como paginar contenido de tabla ?
Desarrollo Web
skip77 1 5,194 Último mensaje 23 Noviembre 2011, 03:02 am
por Mr. Crowley
[Ayuda] Paginar resultados dentro de un MSFlexgrid o cualquier otra datagrid VB
Programación Visual Basic
Graphixx 1 3,129 Último mensaje 13 Julio 2012, 23:38 pm
por seba123neo
[Sencillo ejemplo] Paginar resultados con PHP y MySQL
PHP
Graphixx 4 19,128 Último mensaje 8 Julio 2014, 16:51 pm
por Gh057
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines