+ Responder Tema
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 18

Tema: Como paginar los registros de mi bd?

  1. #1
    Recien Llegado! Habitante Gaston1259 Está en el buen camino
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Arrecifes, Bs. AS., Argentina
    Mensajes
    29
    Poder de Reputación
    6

    Como paginar los registros de mi bd?

    Hola necesito saber como se hace para paginar mis registros de la base de datos. He estado buscando en sitios pero no logro tener buen resultado. A continuacion detallaré mi codigo para quien pueda agregar el scrip será muy agradecido.


    <?php
    $conexion = mysql_connect("***","****","****") or die("Problemas en la conexion");
    mysql_select_db("notascolumnistas",$conexion) or die("Problemas en la selección de la base de datos");

    function mostrarImagen($directorio, $cual){

    $imagenNota = $directorio. "/" .$cual;
    $images = glob($directorio."/{*.gif,*.jpg}", GLOB_BRACE);

    foreach($images as $imagen){
    if($imagen == $imagenNota){

    echo('[img]'.$imagen.'[/img]');
    }
    }
    }
    mostrarImagen('imgs','imagen.jpg');

    $registros= mysql_query("select fecha, titulo, desarrollo, foto, AUTOR from notas WHERE AUTOR=\"DIEGO\"",$conexion) or die("Problemas en el select:".mysql_error());

    while ($reg = mysql_fetch_array($registros))

    {
    echo "<p class=\"fecha\">".$reg['fecha']."</p>
    ";
    echo "<p class=\"titulo\">".$reg['titulo']."</p>
    ";
    ?>



    <?php
    echo "<p class=\"desarrollo\">".$reg['desarrollo']."
    ";

    echo "
    ";
    echo "<hr>";
    }

    mysql_close($conexion);

    ?>

  2. #2
    Moderador CCTW Habitante Foley Está en el buen camino
    Fecha de Ingreso
    12 ago, 07
    Ubicación
    Galicia (España)
    Mensajes
    3,421
    Poder de Reputación
    24
    Hola Gaston 1259

    Buscando en google encontré un manual de desarrolloweb.com:

    http://www.desarrolloweb.com/articulos/1035.php

    Espero que te sirva, te muevo el post a PHP y Bases de Datos.

    Saludos

  3. #3
    Recien Llegado! Habitante Gaston1259 Está en el buen camino
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Arrecifes, Bs. AS., Argentina
    Mensajes
    29
    Poder de Reputación
    6
    Hola Foley te agradezco tu ayuda. Ya lo había mirado a ese ejemplo pero cuando lo voy adaptando a mi codigo nunca pude seguirlo sin errores. (cabe destacar que soy muy nuevo en esto de paginación). Gracias.

  4. #4
    Esto empieza a ser un vicio... Habitante cesar_ed will become famous soon enough Avatar de cesar_ed
    Fecha de Ingreso
    11 feb, 10
    Mensajes
    563
    Poder de Reputación
    6
    solo quieres subir datos a tu base de datos y tambien llamarlos?
    Es facil programar "Solo interesate en aprender"

  5. #5
    Recien Llegado! Habitante Gaston1259 Está en el buen camino
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Arrecifes, Bs. AS., Argentina
    Mensajes
    29
    Poder de Reputación
    6
    Hola Cesar_ed, lo que quiero es paginar los registros que me envía la base de datos para poder, en mi caso que son archivos de notas o textos, mostrar un registro por página. Gracias por tu interés.

  6. #6
    Esto empieza a ser un vicio... Habitante cesar_ed will become famous soon enough Avatar de cesar_ed
    Fecha de Ingreso
    11 feb, 10
    Mensajes
    563
    Poder de Reputación
    6

    Hola

    hola gaston disculpa po no haberte contestado a tiempo lo que pasa es que estaba ocupado .
    Pero bueno
    aqui este code que pagina registros aver si te sirve
    Código:
    <?
     function db_conect()
     {
         $s=mysql_connect("TUSERVIDOR","TU USUARIO","PASS");
    	 
    	 $d=mysql_select_db("TUBASEDEDATOS");
    	
     }
      
          db_conect();
    	  $sql="SELECT * FROM TU TABLA ";
    $res=mysql_query($sql);
    $numeroRegistros=mysql_num_rows($res);
    if($numeroRegistros<=0)
    {
        echo "<div align='center'>";
        echo "
    
    No se encontraron resultados</p>";
        echo "</div>";
    }else{
        
       
     
    
       
        $tamPag=1;
    
     
        if(!isset($_GET["pagina"]))
        {
           $pagina=1;
           $inicio=1;
           $final=$tamPag;
        }else{
           $pagina = $_GET["pagina"];
        }
      
        $limitInf=($pagina-1)*$tamPag;
    
        $numPags=ceil($numeroRegistros/$tamPag);
        if(!isset($pagina))
        {
           $pagina=1;
           $inicio=1;
           $final=$tamPag;
        }else{
           $seccionActual=intval(($pagina-1)/$tamPag);
           $inicio=($seccionActual*$tamPag)+1;
    
           if($pagina<$numPags)
           {
              $final=$inicio+$tamPag-1;
           }else{
              $final=$numPags;
           }
    
           if ($final>$numPags){
              $final=$numPags;
           }
        }
    	  $sql=mysql_query("SELECT * FROM TUTABLA WHERE for_id='".$f."'  ORDER BY tem_id desc  LIMIT ".$limitInf.",".$tamPag." ") 
    	  or die (mysql_error());
    	  
    	  if(mysql_num_rows($sql))
    	  {
    	  while($qry=mysql_fetch_array($sql))
    	  { 
    	  
       tus peticiones
    
    	  }
    	 }
    	
    	}
    	echo '<div align="center">';
    	 if($pagina>1)
        {
           echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?f=".$f."&pagina=".($pagina-1)."'>";
           echo "<font face='verdana' size='-2'>anterior</font>";
           echo "</a> ";
        }
    
        for($i=$inicio;$i<=$final;$i++)
        {
           if($i==$pagina)
           {
              echo "<font face='verdana' size='-2'>".$i." </font>";
           }else{
              echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?f=".$f."&pagina=".$i."'>";
              echo "<font face='verdana' size='-2'>".$i."</font></a> ";
           }
        }
        if($pagina<$numPags)
       {
           echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?f=".$f."&pagina=".($pagina+1)."'>";
           echo "<font face='verdana' size='-2'>siguiente</font></a>";
       }
    	echo'</div>';
       }
    saludos
    Es facil programar "Solo interesate en aprender"

  7. #7
    Recien Llegado! Habitante Gaston1259 Está en el buen camino
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Arrecifes, Bs. AS., Argentina
    Mensajes
    29
    Poder de Reputación
    6
    Hola Cesar, gracias por molestarte con tu ayuda. He probado tu codigo y esta funcionando, solo que no estoy pudiendo dar en la tecla con la limitación del número de registros. (ver el resultado en el siguiente link: http://www.futboldearrecifes.com/col...hp?f=&pagina=1 )

    A continuación te dejo el codigo modificado para mi web para tu ayuda:

    <?php
    function db_conect()
    {
    $s=mysql_connect("*****","*******","******");

    $d=mysql_select_db("notascolumnistas");

    }

    db_conect();
    $sql="SELECT * FROM notas ";
    $res=mysql_query($sql);
    $numeroRegistros=mysql_num_rows($res);
    if($numeroRegistros<=0)
    {
    echo "<div align='center'>";
    echo "

    No se encontraron resultados</p>";
    echo "</div>";
    }

    else {

    $tamPag=1;
    if(!isset($_GET["pagina"]))
    {
    $pagina=1;
    $inicio=1;
    $final=$tamPag;
    }
    else{
    $pagina = $_GET["pagina"];
    }

    $limitInf=($pagina-1)*$tamPag;

    $numPags=ceil($numeroRegistros/$tamPag);
    if(!isset($pagina))
    {
    $pagina=1;
    $inicio=1;
    $final=$tamPag;
    }
    else{
    $seccionActual=intval(($pagina-1)/$tamPag);
    $inicio=($seccionActual*$tamPag)+1;

    if($pagina<$numPags)
    {
    $final=$inicio+$tamPag-1;
    }
    else{
    $final=$numPags;
    }

    if ($final>$numPags){
    $final=$numPags;
    }
    }
    $sql=mysql_query("SELECT * FROM notas WHERE AUTOR=\"DIEGO\" ORDER BY fecha desc LIMIT ".$limitInf.",".$tamPag." ")
    or die (mysql_error());

    if(mysql_num_rows($sql))
    {
    while($qry=mysql_fetch_array($sql))


    echo '<div align="center">';
    }
    if($pagina>1)
    {
    echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?f=".$f."&pagina=".($pagina-1)."'>";
    echo "<font face='tahoma' size='-2'>anterior</font>";
    echo "</a> ";
    }

    for($i=$inicio;$i<=$final;$i++)
    {
    if($i==$pagina)
    {
    echo "<font face='tahoma' size='-2'>".$i." </font>";
    }else{
    echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?f=".$f."&pagina=".$i."'>";
    echo "<font face='tahoma' size='-2'>".$i."</font></a> ";
    }
    }
    if($pagina<$numPags)
    {
    echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?f=".$f."&pagina=".($pagina+1)."'>";
    echo "<font face='tahoma' size='-2'>siguiente</font></a>";
    }
    echo'</div>';
    }
    ?>


    La idea es limitar los registros a 1 por página (osea, 1 texto por página)
    si me pudieras ayudar a resolver este paso terminaría de molestar. Gracias.

  8. #8
    Esto empieza a ser un vicio... Habitante cesar_ed will become famous soon enough Avatar de cesar_ed
    Fecha de Ingreso
    11 feb, 10
    Mensajes
    563
    Poder de Reputación
    6

    hola

    Hola gaston perdon por la tardanza es q' no podia conectarme por la escuela pero quedaria resuelto de esta forma :

    Código:
    <?php
    function db_conect()
    {
    $s=mysql_connect("*****","*******","******");
    
    $d=mysql_select_db("notascolumnistas");
    
    }
    
    db_conect();
    $sql="SELECT * FROM notas ";
    $res=mysql_query($sql);
    $numeroRegistros=mysql_num_rows($res);
    if($numeroRegistros<=0)
    {
    echo "<div align='center'>";
    echo "
    
    No se encontraron resultados</p>";
    echo "</div>";
    }
    
    else {
    
    $tamPag=1;
    if(!isset($_GET["pagina"]))
    {
    $pagina=1;
    $inicio=1;
    $final=$tamPag;
    }
    else{
    $pagina = $_GET["pagina"];
    }
    
    $limitInf=($pagina-1)*$tamPag;
    
    $numPags=ceil($numeroRegistros/$tamPag);
    if(!isset($pagina))
    {
    $pagina=1;
    $inicio=1;
    $final=$tamPag;
    }
    else{
    $seccionActual=intval(($pagina-1)/$tamPag);
    $inicio=($seccionActual*$tamPag)+1;
    
    if($pagina<$numPags)
    {
    $final=$inicio+$tamPag-1;
    }
    else{
    $final=$numPags;
    }
    
    if ($final>$numPags){
    $final=$numPags;
    }
    }
    $diego = "DIEGO";
    $sql=mysql_query("SELECT * FROM notas WHERE AUTOR='".$diego."' ORDER BY fecha desc LIMIT ".$limitInf.",".$tamPag." ")
    or die (mysql_error());
    
    if(mysql_num_rows($sql))
    {
    while($qry=mysql_fetch_array($sql))
    
    
    echo '<div align="center">';
    }
    if($pagina>1)
    {
    echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."'>";
    echo "<font face='tahoma' size='-2'>anterior</font>";
    echo "</a> ";
    }
    
    for($i=$inicio;$i<=$final;$i++)
    {
    if($i==$pagina)
    {
    echo "<font face='tahoma' size='-2'>".$i." </font>";
    }else{
    echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."'>";
    echo "<font face='tahoma' size='-2'>".$i."</font></a> ";
    }
    }
    if($pagina<$numPags)
    {
    echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."'>";
    echo "<font face='tahoma' size='-2'>siguiente</font></a>";
    }
    echo'</div>';
    }
    ?>
    Espero y ya funke y si tienes una duda o problema ya sabes
    para eso estamos aqui

    saludos
    Es facil programar "Solo interesate en aprender"

  9. #9
    Recien Llegado! Habitante Gaston1259 Está en el buen camino
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Arrecifes, Bs. AS., Argentina
    Mensajes
    29
    Poder de Reputación
    6

    algo huele mal en dinamarca...

    gracias cesar por tu colaboración pero como verás en el siguiebte link ( http://www.futboldearrecifes.com/col...hp?f=&pagina=1 ) al parecer no está limitando los registros ya que me muestra los 13 registros actuales en 13 paginas. Espero haberme explicado bien para tu ayuda.

  10. #10
    Esto empieza a ser un vicio... Habitante cesar_ed will become famous soon enough Avatar de cesar_ed
    Fecha de Ingreso
    11 feb, 10
    Mensajes
    563
    Poder de Reputación
    6
    Ya encontre el problema que se me paso decirte , en tu sistema de noticias debes tener algo asi

    if(mysql_numrows($variable)
    {
    while($variable = mysql_fetch_array($vatiable)
    {
    el code de tus noticias dentro

    }
    }

    buscalo , claro no exactamente igual pero cuando encuentres algo parecido para poder continuar oks?
    Es facil programar "Solo interesate en aprender"

  11. #11
    Recien Llegado! Habitante Gaston1259 Está en el buen camino
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Arrecifes, Bs. AS., Argentina
    Mensajes
    29
    Poder de Reputación
    6
    Perdón por mi ignorancia, podrá ser esto:

    while ($reg = mysql_fetch_array($rst_registros))

    {
    echo "<p class=\"fecha\">".$reg['fecha']."</p>
    ";
    echo "<p class=\"titulo\">".$reg['titulo']."</p>
    ";
    ?>



    <?php
    echo "<p class=\"desarrollo\">".$reg['desarrollo']."
    ";

    echo "
    ";
    echo "<hr>";
    }

  12. #12
    Esto empieza a ser un vicio... Habitante cesar_ed will become famous soon enough Avatar de cesar_ed
    Fecha de Ingreso
    11 feb, 10
    Mensajes
    563
    Poder de Reputación
    6
    sipi ahi es,
    ahora solo dame el valor o donde se declara la variable
    $rst_registros que tienes dentro del
    while ($reg = mysql_fetch_array( $rst_registros))

    y despues continuamos.
    Es facil programar "Solo interesate en aprender"

  13. #13
    Recien Llegado! Habitante Gaston1259 Está en el buen camino
    Fecha de Ingreso
    11 jun, 08
    Ubicación
    Arrecifes, Bs. AS., Argentina
    Mensajes
    29
    Poder de Reputación
    6
    $rst_registros= mysql_query("select fecha, titulo, desarrollo, AUTOR from notas WHERE AUTOR=\"DIEGO\"",$conexion) or die("Problemas en el select:".mysql_error());

    no tienes msn?

  14. #14
    Esto empieza a ser un vicio... Habitante cesar_ed will become famous soon enough Avatar de cesar_ed
    Fecha de Ingreso
    11 feb, 10
    Mensajes
    563
    Poder de Reputación
    6
    si , enviamelo por mp mensaje privado si quieres
    Es facil programar "Solo interesate en aprender"

  15. #15
    Moderador CCTW Habitante Foley Está en el buen camino
    Fecha de Ingreso
    12 ago, 07
    Ubicación
    Galicia (España)
    Mensajes
    3,421
    Poder de Reputación
    24
    Si no es mucha molestia, por favor, poner el código finalizado aquí en el foro, igual a alguien le puede servir ;)

    Gracias

+ Responder Tema

Temas Similares

  1. Paginar
    Por Tania en el foro Foro General
    Respuestas: 2
    Último Mensaje: 06/12/2007, 16:53

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes