Foros del Web » Programando para Internet » PHP »

Tengo un problema con la paginacion

Estas en el tema de Tengo un problema con la paginacion en el foro de PHP en Foros del Web. Buenos días. tengo este código php que me hace una consulta en mi base de datos y me trae la información de empresas registradas según ...
  #1 (permalink)  
Antiguo 27/06/2011, 11:05
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Exclamación Tengo un problema con la paginacion

Buenos días.

tengo este código php que me hace una consulta en mi base de datos y me trae la información de empresas registradas según sea el caso(empresas de seguridad, dotación, escuela de capacitación), la idea es paginar la consulta debido a que si la cantidad de empresas son 3 no hay mucho problema, pero si son digamos 30 es muy engorroso que el usuario vea una lista de 30 es mejor que vea de a 10... e intentado paginar con un sin fin de códigos, pero no he podido realizarlo, porfa necesito ayuda es para mi proyecto de grado es lo único me me exigieron y por lo cual me colocaron trabas

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>TuPortalGuia.com</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Estilo1 {color: #000000}
.style7 {font-size: 0.7em}
.Estilo2 {color: #FF0000}
-->
</style>
    <style type="text/css">
<!--
.style17 {font-size: 12px}
-->
    </style>   
    <script>
var miPopup;
function abreVentana(valor)
{
    miPopup = window.open("ver_detalles.php?id=" + valor,"miwin","width=600,height=500,scrollbars=yes,target='_black'");
    miPopup.focus();
    }
</script>
</head>
<body>
<?php
include "conex.php";
 
$link=Conectarse();
  
$Categoria $_GET['term'];  
?>
<div id="botBody">
  <table width="65%" border="0" align="center" bgcolor="#FFFFFF">
    <tr>
      <th height="124" bgcolor="#FFFFFF"><p class="style7"><img src="oferta.jpg" alt="Gestor Busquedas" width="118" height="119" border="0" class="logo" title="Gestor Busquedas" /></a></p>
      <p class="style7">Resultados de la b&uacute;squeda para: <?php echo $Categoria?></p></th>
    </tr>
  </table>
  <br />
<?PHP 
$consulta
="SELECT Autor, Titulo, Descripcion, Imagen From Ofertas WHERE TipoEmpresa='$Categoria'";
$result=mysql_query($consulta,$link);
  while (
$row1 mysql_fetch_array($result))
   {
?>
  <table width="90%" border="0" align="center" class="primeralineaizquierda">
    <tr>
      <td width="590" bgcolor="#FFFFFF"><strong><span class="Estilo3"><?php echo $row1[1?>:</span></strong></td>
      <td width="200" rowspan="3" align="center" valign="middle" bgcolor="#FFFFFF"><div align="center"><span class="style7">
        <?php 
            
if ($row1[3])
              {
                echo 
"<img src='Logos/$row1[3]' width=\"80\" height=\"60\">";
              }
        
?>
      </span></div>
</td>
     
    <tr>
      <td bgcolor="#A9D0F5"><span class="style17"> Descripci&oacute;n:<?php echo $row1[2?> <br>
           Servicio Ofrecido Por: <?php echo $row1[0?> </span></td>
    </tr>
    
  </table>
 
<?php      
  
}
?>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 27/06/2011, 11:16
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Tengo un problema con la paginacion

existen diversas clases de paginación, y fáciles de usar, no veo el inconveniente
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 27/06/2011, 11:17
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Tengo un problema con la paginacion

tu si que tienes suerte, de proyecto de grado hacer la paginación de una consulta...

lo más importante es donde le dices en tu consulta
limit $RegistrosAEmpezar, $RegistrosAMostrar"

$sql2 = "select id, titulo, precio, garantia from equipo order by id DESC";
$conexion->consulta($sql2);
$NroRegistros = $conexion->numregistros();
$PagAnt=$PagAct-1;
$PagSig=$PagAct+1;
$PagUlt=$NroRegistros/$RegistrosAMostrar;
$Res=$NroRegistros%$RegistrosAMostrar;
if($Res>0) $PagUlt=floor($PagUlt)+1;
if ($NroRegistros > 0)
{
?>
<div class="paginacion" >
<a href="<?php echo $_SERVER['PHP_SELF'];?>?pag=1">&nbsp; &laquo;</a>
<?php
for ($i = 1; $i <= $PagUlt; $i++)
{
if ($PagAct == $i)
echo '<span class="pagina_actual">'.$i.'</span>';
else
echo '<a href="'.$_SERVER['PHP_SELF'].'?pag='.$i.'">'.$i.'</a>';
}
?>
<a href="<?php echo $_SERVER['PHP_SELF'];?>?pag=<?php echo $PagUlt;?>"> &nbsp; &raquo;</a>
</div>
<?php
}
?>
y acá al final que creas las paginas...
  #4 (permalink)  
Antiguo 27/06/2011, 13:54
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Tengo un problema con la paginacion

jaja ojala fuera solo eso el proyecto, voy a probarlo y ya te cuento ojala y me funcione
  #5 (permalink)  
Antiguo 27/06/2011, 14:32
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Tengo un problema con la paginacion

hola no no me da, me sale error....


Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>TuPortalGuia.com</title>
  6. <link href="css/style.css" rel="stylesheet" type="text/css" />
  7. <style type="text/css">
  8. <!--
  9. .Estilo1 {color: #000000}
  10. .style7 {font-size: 0.7em}
  11. .Estilo2 {color: #FF0000}
  12. -->
  13. </style>
  14.  
  15.  
  16.  
  17.     <style type="text/css">
  18. <!--
  19. .style17 {font-size: 12px}
  20. -->
  21.     </style>
  22.    
  23.    
  24.     <script>
  25. var miPopup;
  26. function abreVentana(valor)
  27. {
  28.     miPopup = window.open("ver_detalles.php?id=" + valor,"miwin","width=600,height=500,scrollbars=yes,target='_black'");
  29.     miPopup.focus();
  30.     }
  31. </script>
  32. </head>
  33. <body>
  34. <?php
  35. include "conex.php";
  36.  $link=Conectarse();
  37.   $Categoria = $_GET['term'];  
  38. ?>
  39. <div id="botBody">
  40.   <table width="65%" border="0" align="center" bgcolor="#FFFFFF">
  41.     <tr>
  42.       <th height="124" bgcolor="#FFFFFF"><p class="style7"><img src="oferta.jpg" alt="Gestor Busquedas" width="118" height="119" border="0" class="logo" title="Gestor Busquedas" /></a></p>
  43.       <p class="style7">Resultados de la b&uacute;squeda para: <?php echo $Categoria; ?></p></th>
  44.     </tr>
  45.   </table>
  46.   <br />
  47. <?PHP
  48. $consulta="SELECT Autor, Titulo, Descripcion, Imagen From Ofertas WHERE TipoEmpresa='$Categoria'";
  49. $result=mysql_query($consulta,$link);
  50.   while ($row1 = mysql_fetch_array($result))
  51.    {
  52. ?>
  53.  
  54.  
  55.   <table width="90%" border="0" align="center" class="primeralineaizquierda">
  56.     <tr>
  57.       <td width="590" bgcolor="#FFFFFF"><strong><span class="Estilo3"><?php echo $row1[1] ?>:</span></strong></td>
  58.       <td width="200" rowspan="3" align="center" valign="middle" bgcolor="#FFFFFF"><div align="center"><span class="style7">
  59.         <?php
  60.            if ($row1[3])
  61.               {
  62.                 echo "<img src='Logos/$row1[3]' width=\"80\" height=\"60\">";
  63.               }
  64.         ?>
  65.       </span></div>
  66. </td>
  67.      
  68.     <tr>
  69.       <td bgcolor="#A9D0F5"><span class="style17"> Descripci&oacute;n:<?php echo $row1[2] ?> <br>
  70.            Servicio Ofrecido Por: <?php echo $row1[0] ?> </span></td>
  71.     </tr>
  72.    
  73.   </table>
  74.  
  75. <?php    
  76.   }
  77. ?>
  78. <?php
  79.  
  80. $link1=Conectarse();
  81.   $Categoria = $_GET['term'];
  82. $sql2 = "select Autor, Titulo, Descripcion, Imagen From Ofertas WHERE TipoEmpresa='$Categoria' order by id DESC";
  83. $link1->consulta($sql2);
  84. $NroRegistros = $link1->numregistros();
  85. $PagAnt=$PagAct-1;
  86. $PagSig=$PagAct+1;
  87. $PagUlt=$NroRegistros/$RegistrosAMostrar;
  88. $Res=$NroRegistros%$RegistrosAMostrar;
  89. if($Res>0) $PagUlt=floor($PagUlt)+1;
  90. if ($NroRegistros > 0)
  91. {
  92. ?>
  93. <div class="paginacion" >
  94. <a href="<?php echo $_SERVER['PHP_SELF'];?>?pag=1">&nbsp; &laquo;</a>
  95. <?php
  96. for ($i = 1; $i <= $PagUlt; $i++)
  97. {
  98. if ($PagAct == $i)
  99. echo '<span class="pagina_actual">'.$i.'</span>';
  100. else
  101. echo '<a href="'.$_SERVER['PHP_SELF'].'?pag='.$i.'">'.$i.'</a>';
  102. }
  103. ?>
  104. <a href="<?php echo $_SERVER['PHP_SELF'];?>?pag=<?php echo $PagUlt;?>"> &nbsp; &raquo;</a>
  105. </div>
  106. <?php
  107. }
  108. ?>
  109.  
  110. </div>
  111. </body>
  112. </html>

Fatal error: Call to a member function consulta() on a non-object in C:\wamp\www\joomla\busqueda_ofertas.php on line 83

la linea es

Código PHP:
Ver original
  1. $link1->consulta($sql2);
  #6 (permalink)  
Antiguo 27/06/2011, 14:35
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Tengo un problema con la paginacion

si amigo, es que uso mi propia clase BD
consulta es un metodo
mysql_query($sql), esto es lo que hace..
eso que te puse no te sirve 100%, es solo una guia de como hacer la paginacion
  #7 (permalink)  
Antiguo 27/06/2011, 14:36
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Tengo un problema con la paginacion

a lo mejor esto te sirve más
http://www.cristalab.com/tutoriales/...mysql-c79063l/
  #8 (permalink)  
Antiguo 27/06/2011, 14:44
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Tengo un problema con la paginacion

jajaja hay perdon.... gracias, estoy que le doy vueltas a esto mmmm llevo 3 días y nada voy a probar lo del link que me diste y ya comento!!
  #9 (permalink)  
Antiguo 27/06/2011, 15:01
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Tengo un problema con la paginacion

no me da lista los 5 primeros registros, pero cuando le doy click en el 2 me trae la consulta de otra informacion de otra consulta digamos... en esa tabla hay empresas de seguridad, empresas de dotación, escuelas de capacitacion, la primera consulta hace el filtrado por empresas digamos de seguridad, luego se hace el filtrado de esa consulta para paginar,pero a la hora de darle en el 2 me trae 3 resultados de escuelas de capacitacion... no me da es mas dificil de lo que crei
  #10 (permalink)  
Antiguo 27/06/2011, 15:20
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Tengo un problema con la paginacion

parece que encontré la solución...... voy a crear tabla de ofertas por cada empresa
  #11 (permalink)  
Antiguo 27/06/2011, 16:06
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Tengo un problema con la paginacion

oye una pregunta tu sabes si esto esta guardando bien .. osea el if esta actuando como deberia actuar??

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10. <p>
  11. <?php
  12.   require_once('configuration.php');
  13.   include ("conex.php");
  14.   $link = Conectarse();
  15.   $Tipo = $_POST['Tipo'];
  16.   $Autor = $_POST['Autor'];
  17.   $Titulo = $_POST['Titulo'];
  18.   $Logo = $_FILES['Logo']['name']; // Nombre del archivo
  19.   $Descripcion = $_POST['Descripcion'];
  20.   $carpeta = './Logos'; // Ruta donde guardaremos el archivo subido
  21.   $id= $_POST['id'];
  22.  
  23.  
  24.  echo $Tipo;
  25.  
  26.  if($Tipo='Empresas de Segurida')
  27.  {  
  28.    if ($Logo)
  29.        {
  30.          if(move_uploaded_file($_FILES['Logo']['tmp_name'],$carpeta.'/'.$Logo))
  31.            {
  32.              $sql = mysql_query("INSERT INTO ofertas_seguridad (Autor,Titulo,Descripcion,TipoEmpresa, Imagen, id_usuario) VALUES ('$Autor','$Titulo','$Descripcion','$Tipo','$Logo', '$id');",$link);
  33.         }
  34.     }        
  35.     }
  36.     elseif($Tipo='Empresas de Dotacion')
  37.     {
  38.     if ($Logo)
  39.        {
  40.          if(move_uploaded_file($_FILES['Logo']['tmp_name'],$carpeta.'/'.$Logo))
  41.            {
  42.              $sql1 = mysql_query("INSERT INTO ofertas_dotacion (Autor,Titulo,Descripcion,TipoEmpresa, Imagen, id_usuario) VALUES ('$Autor','$Titulo','$Descripcion','$Tipo','$Logo', '$id');",$link);
  43.         }
  44.     }  
  45.     }
  46.     elseif($Tipo='Escuelas de Capacitacion')
  47.    
  48.     {
  49.     if ($Logo)
  50.        {
  51.          if(move_uploaded_file($_FILES['Logo']['tmp_name'],$carpeta.'/'.$Logo))
  52.            {
  53.              $sql2 = mysql_query("INSERT INTO ofertas_escuelas (Autor,Titulo,Descripcion,TipoEmpresa, Imagen, id_usuario) VALUES ('$Autor','$Titulo','$Descripcion','$Tipo','$Logo', '$id');",$link);
  54.         }
  55.     }  
  56.     }
  57.    
  58. ?>
  59. <br />
  60. </p>
  61. <form id="form1" name="form1" method="post" action="oferta.php">
  62.   <div align="center">
  63.     <p>Oferta Registrada</p>
  64.     <p>
  65.       <label>
  66.         <input type="submit" name="button" id="button" value="Continuar" />
  67.       </label>
  68.     </p>
  69.   </div>
  70. </form>
  71.   </div>
  72. </form>
  73.  
  74. </p>
  75. <p>&nbsp;</p>
  76. </body>
  77. </html>
  #12 (permalink)  
Antiguo 27/06/2011, 16:10
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Tengo un problema con la paginacion

me graba empresas de seguridad pero si es otra empresa no jijij hay algo mal en el if
  #13 (permalink)  
Antiguo 27/06/2011, 18:54
 
Fecha de Ingreso: marzo-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Tengo un problema con la paginacion

ayuda

como hago para meter estos html dentro del php

Código PHP:
Ver original
  1. <div id="botBody">
  2.   <table width="65%" border="0" align="center" bgcolor="#FFFFFF">
  3.     <tr>
  4.       <th height="124" bgcolor="#FFFFFF"><p class="style7"><img src="logo.png" alt="Gestor Busquedas" width="118" height="119" border="0" class="logo" title="Gestor Busquedas" /></a></p>
  5.       <p class="style7">Ofertas de: <?php echo $user1; ?></p></th>
  6.     </tr>
  7.   </table>
  8.   <br/>
  9. <?PHP
  10. $link1 = Conectarse();
  11.   $consulta= mysql_query ("SELECT Titulo, Descripcion, Imagen FROM ofertas_seguridad WHERE id_usuario='$user->id'",$link1)or die (mysql_error());
  12.   while ($row = mysql_fetch_array($consulta))
  13.    {
  14. ?>
  15.   <table width="90%" border="0" align="center" class="primeralineaizquierda">
  16.     <tr>
  17.       <td width="590" bgcolor="#FFFFFF"><strong><span class="Estilo3"><?php echo $row[0] ?>:</span></strong></td>
  18.       <td width="200" rowspan="3" align="center" valign="middle" bgcolor="#FFFFFF"><div align="center"><span class="style7">
  19.         <?php
  20.            if ($row[2])
  21.               {
  22.                 echo "<img src='Logos/$row[2]' width=\"80\" height=\"60\">";
  23.               }
  24.         ?>
  25.       </span></div>
  26. </td>
  27.     <tr>
  28.       <td bgcolor="#A9D0F5"><span class="style17"> Descripcion:<?php echo $row[1]?> </span></td>
  29.     </tr>
  30.     <tr>
  31.       <td><span class="style7"><div align="right">
  32.         <form id="form1" name="form1" method="post" action="">
  33.           <div align="right"><span class=\"style5\"><a href="editar_oferta.php">Editar...</a></span></br> </div>
  34.         </form>
  35.     </td>
  36.     </tr>
  37.   </table>
  38. <?php
  39. }
  40. ?>
se que es con un echo"<>", pero cuando hago esto echo"<style=\"algo \">"
igual con los td, tb, y demas
  #14 (permalink)  
Antiguo 28/06/2011, 03:15
Avatar de Maline83  
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Tengo un problema con la paginacion

Arreglaste la paginación? Te paso el código que uso yo.

Esto va arriba, antes de la consulta:
Cita:
//Limito la paginacion (registros que quiero por página)
$registros = 3;

//examino la página a mostrar y el inicio del registro a mostrar (esto dejalo así, no lo cambies)
$pagina = @$_GET['pagina'];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $registros;}

Y luego, tras el código y las consultas:
Cita:
$enviar=$_REQUEST["enviar"];

if($total_registros) {

echo "<center>";

if(($pagina - 1) > 0) {
echo "<a href='mismoarchivo.php?pagina=".($pagina-1)."&enviar=".($enviar)."&agente=".($nif)."'>< Anterior</a> ";

}

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<b>".$pagina."</b> ";
} else {
echo "<a href='mismoarchivo.php?pagina=$i &enviar=".($enviar)."&agente=".($nif)."'>$i</a> ";
}
}

if(($pagina + 1)<=$total_paginas) {
echo " <a href='mismoarchivo.php?pagina=".($pagina+1)."&envi ar=".($enviar)."&agente=".($nif)."'>Siguiente ></a>";
}

echo "</center>";

}
En este caso, en la consulta se usa el valor "nif" (&agente=".($nif)."), así que habría que pasárselo, en tu caso, los que necesites, o sólo el valor "enviar" si no recibe ninguna variable.

Espero que te valga ;)
  #15 (permalink)  
Antiguo 28/06/2011, 03:20
Avatar de Maline83  
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Tengo un problema con la paginacion

Te copio de nuevo lo último de antes, que copie algo mal:
Cita:
$enviar=$_REQUEST["enviar"];

if($total_registros) {

echo "<center>";

if(($pagina - 1) > 0) {
echo "<a href='mismoarchivo.php?pagina=".($pagina-1)."&enviar=".($enviar)."&agente=".($nif)."'> Anterior</a> ";

}

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<b>".$pagina."</b> ";
} else {
echo "<a href='mismoarchivo.php?pagina=$i &enviar=".($enviar)."&agente=".($nif)."'>$i</a> ";
}
}

if(($pagina + 1)<=$total_paginas) {
echo " <a href='mismoarchivo.php?pagina=".($pagina+1)."&envi ar=".($enviar)."&agente=".($nif)."'>Siguiente ></a>";
}

echo "</center>";

}

Etiquetas: paginacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:18.