Foros del Web » Programando para Internet » PHP »

Ayuda para hacer paginacion

Estas en el tema de Ayuda para hacer paginacion en el foro de PHP en Foros del Web. amigos tengo el siguiente problema al hacer la paginacion... (mi base de datos esta echa en sql server), resulta que pongo que me tire una ...
  #1 (permalink)  
Antiguo 21/12/2009, 10:14
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Ayuda para hacer paginacion

amigos tengo el siguiente problema al hacer la paginacion... (mi base de datos esta echa en sql server), resulta que pongo que me tire una cierta cantidad de registros pero no me va cambiando las paginas con sus respectivos registros es como si siempre se quedará en la pagina 1 aqui les dejo el codigo
Código PHP:
<?php 
include("conexion.php");
$registros 2;
if (!
$pagina) { 
    
$inicio 0
    
$pagina 1

else { 
    
$inicio = ($pagina 1) * $registros

    
$resultados mssql_query("select res_id,cli_nom,cli_apepat,ciu_des,hab_num,tip_des,fec_ing from cliente,treserva,thabitacion,ttipo_habitacion,tciudad where ((cliente.cli_id = treserva.cli_id)and(treserva.hab_id = thabitacion.hab_id))and ((thabitacion.tip_id =ttipo_habitacion.tip_id )and(thabitacion.ciu_id =tciudad.ciu_id ))and treserva.est_id =2 order by fec_ing");
$total_registros mssql_num_rows($resultados); 

$resultados mssql_query("select TOP $registros res_id,cli_nom,cli_apepat,ciu_des,hab_num,tip_des,fec_ing from cliente,treserva,thabitacion,ttipo_habitacion,tciudad where ((cliente.cli_id = treserva.cli_id)and(treserva.hab_id = thabitacion.hab_id))and ((thabitacion.tip_id =ttipo_habitacion.tip_id )and(thabitacion.ciu_id =tciudad.ciu_id ))and treserva.est_id =2 order by fec_ing desc");
$total_paginas ceil($total_registros $registros);
if(
$total_registros) {    
    while(
$rs mssql_fetch_array($resultados)){
    
$x=" ";
  
?>
  <tr>  
    <td><div align="center"><?php echo $rs['cli_nom'],$x,$rs['cli_apepat'];?></div></td>
    <td><div align="center"><?php echo $rs['ciu_des'];?></div></td>
    <td><div align="center"><?php echo $rs['hab_num'];?></div></td>
    <td><div align="center"><?php echo $rs['tip_des'];?></div></td>
    <td><div align="center"><?php echo $rs['fec_ing'];?></div></td>
    <td><div align="center"><a href="activar_res.php?c=<?php echo $rs['res_id']; ?>">Activar</a></div></td>
  </tr>
   <?php
  
}
} else {
        
?>
        <script type="text/javascript">
            <!--
            alert("Sin Resultados")
            // -->
        </script>
    <?PHP
}
  
?>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
 
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center">
  <?php

mssql_free_result
($resultados);    
$total_registros
if(
$total_registros) {
    echo 
"<center>";
    if((
$pagina 1) > 0) {
        echo 
"<a href='activar_reserva.php?pagina=".($pagina-1)."'></a> ";
    }
    for (
$i=1$i<=$total_paginas$i++){ 
        if (
$pagina == $i){ 
            echo 
"<b>".$pagina."</b> "
        }else{
            echo 
"<a href='activar_reserva.php?pagina=$i'>$i</a> "
        }
      
        if((
$pagina 1)<=$total_paginas) {
            echo 
" <a href='activar_reserva.php?pagina=".($pagina+1)."'></a>";
        }
    }    
    echo 
"</center>";
        
}
?>
ojala me puedan ayudar con esto
  #2 (permalink)  
Antiguo 21/12/2009, 10:39
 
Fecha de Ingreso: diciembre-2009
Mensajes: 438
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Ayuda para hacer paginacion

Tienes que recoger el valor de la página con $_GET['pagina'] ya que la pasas por parámetro de la URL.
  #3 (permalink)  
Antiguo 21/12/2009, 10:44
Avatar de Angelik0722  
Fecha de Ingreso: diciembre-2009
Ubicación: Colombia
Mensajes: 43
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ayuda para hacer paginacion

Hola intenta con este codigo a mi me sirve cada vez que necesito paginar , modificalo de acuerdo a tu requerimiento:

<?php
include("funciones.php");
$link=conexion("BdMedicas");
//Consulta para visualizar todos los medicamentos

$registros=35;


$pagina = $_GET["pagina"];

if (!$pagina) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $registros;
}


$resultados = mysql_query("SELECT * FROM Med_Medicamentos ");
$total_registros = mysql_num_rows($resultados);
$resultados = mysql_query("SELECT * FROM Med_Medicamentos ORDER BY Nombre_med ASC LIMIT $inicio, $registros");
$total_paginas = ceil($total_registros / $registros);

while($array_medicamentos=mysql_fetch_array($resul tados)) {
echo"<tr>
<td> $array_medicamentos[Codigo_med]</td>
<td>$array_medicamentos[Nombre_med]</td>
<td>$array_medicamentos[Forma_Farmaceutica]</td>
<td align='right'>$array_medicamentos[Composicion]</td>
<td>$array_medicamentos[Laboratorio]</td>
<td>$array_medicamentos[Lote]</td>
<td>$array_medicamentos[FechaVence]</td>
<td align='center'>$array_medicamentos[Cantidad]</td>
<td align='center'><a href='Actualizar_Medicamentos2.php?codigo=$array_m edicamentos[Codigo_med]'>Actualizar</a></td>

</tr>";


}



?>
</table>
<p align="center">&nbsp;</p>
<p align="right" class="menu">
<?php
echo"<br><br><br>";
if(($pagina - 1) > 0) {
echo "<a href='Actualizar_Medicamentos.php?pagina=".($pagin a-1)."'><< Anterior</a> ";
}

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

if(($pagina + 1)<=$total_paginas) {
echo " <a href='Actualizar_Medicamentos.php?pagina=".($pagin a+1)."'>Siguiente >></a>";
}

?>
  #4 (permalink)  
Antiguo 21/12/2009, 10:56
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda para hacer paginacion

ya puse
$pagina = $_GET["pagina"];
con eso me va cambiando las paginas con exito, pero no me cambia los registros que muestra....no se por que pero yo creo que el problema son con estas lineas

esta es la "original" echa en MySql
Código PHP:
$resultados mysql_query("SELECT * FROM Med_Medicamentos "); 
$total_registros mysql_num_rows($resultados); 
$resultados mysql_query("SELECT * FROM Med_Medicamentos ORDER BY Nombre_med ASC LIMIT $inicio, $registros"); 
$total_paginas ceil($total_registros $registros); 
y asi es la modificacion

Código PHP:
$resultados mssql_query("select res_id,cli_nom,cli_apepat,ciu_des,hab_num,tip_des,fec_ing from cliente,treserva,thabitacion,ttipo_habitacion,tciudad where ((cliente.cli_id = treserva.cli_id)and(treserva.hab_id = thabitacion.hab_id))and ((thabitacion.tip_id =ttipo_habitacion.tip_id )and(thabitacion.ciu_id =tciudad.ciu_id ))and treserva.est_id =2 order by fec_ing");
$total_registros mssql_num_rows($resultados); 

$resultados mssql_query("select TOP $registros res_id,cli_nom,cli_apepat,ciu_des,hab_num,tip_des,fec_ing from cliente,treserva,thabitacion,ttipo_habitacion,tciudad where ((cliente.cli_id = treserva.cli_id)and(treserva.hab_id = thabitacion.hab_id))and ((thabitacion.tip_id =ttipo_habitacion.tip_id )and(thabitacion.ciu_id =tciudad.ciu_id ))and treserva.est_id =2 order by fec_ing desc");
$total_paginas ceil($total_registros $registros); 
  #5 (permalink)  
Antiguo 21/12/2009, 11:08
 
Fecha de Ingreso: diciembre-2009
Mensajes: 438
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Ayuda para hacer paginacion

Usa LIMIT en la consutla como te ha pasado Angelik0722
  #6 (permalink)  
Antiguo 21/12/2009, 12:08
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda para hacer paginacion

Cita:
Iniciado por Osdiwe Ver Mensaje
Usa LIMIT en la consutla como te ha pasado Angelik0722
lo usuaria pero en sql no me tma esa funcion :(
  #7 (permalink)  
Antiguo 21/12/2009, 12:23
 
Fecha de Ingreso: diciembre-2009
Mensajes: 438
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Ayuda para hacer paginacion

Perdón, no me había dado cuenta que usas mssql en vez de mysql. Con eso creo que no te puedo ayudar mucho, pero mirando un poco el código creo que siempre te queda el principio de la consulta así:

select TOP 35 (ya que se declara la variable $registros más arriba con el valor de 35). Sin entender como funciona el top de 35 creo que siempre tiene el mismo valor independientemente de la página dónde te encuentres. Creo que aquí está la clave, en cambiar este 35 por alguna otra cosa que en mssql signifique los registros que quieres (a partir de la variable $_GET['pagina']).
  #8 (permalink)  
Antiguo 21/12/2009, 12:45
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda para hacer paginacion

Cita:
Iniciado por Osdiwe Ver Mensaje
Perdón, no me había dado cuenta que usas mssql en vez de mysql. Con eso creo que no te puedo ayudar mucho, pero mirando un poco el código creo que siempre te queda el principio de la consulta así:

select TOP 35 (ya que se declara la variable $registros más arriba con el valor de 35). Sin entender como funciona el top de 35 creo que siempre tiene el mismo valor independientemente de la página dónde te encuentres. Creo que aquí está la clave, en cambiar este 35 por alguna otra cosa que en mssql signifique los registros que quieres (a partir de la variable $_GET['pagina']).
si te fijas bien tengo puesto $registros = 2;
el problema es que si hace toda la paginacion y muestra 2 registros, me cambia de pagina hasta ahi todo bien, el problema es que por ejemplo se crearon 6 paginas
y en la pagina 1 sale:
nombre apellido
juan sdsd
maria calloza
y en la pagina 2 me muestra los mismos datos que en la pagina 1 y haci sucesivamente...entonces ese es el problema como hago para que en la pagina 2 cambie los datos....
  #9 (permalink)  
Antiguo 21/12/2009, 13:04
Avatar de Angelik0722  
Fecha de Ingreso: diciembre-2009
Ubicación: Colombia
Mensajes: 43
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ayuda para hacer paginacion

Hola

Pues yo creo que el problem esta en la consulta...fue lo que me paso cuando genere por primera vez lo de la paginación, revisa de nuevo tus consultas sql.

Angèlica
  #10 (permalink)  
Antiguo 21/12/2009, 13:10
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda para hacer paginacion

Cita:
Iniciado por Angelik0722 Ver Mensaje
Hola

Pues yo creo que el problem esta en la consulta...fue lo que me paso cuando genere por primera vez lo de la paginación, revisa de nuevo tus consultas sql.

Angèlica
mira angelica estas son las consultas que realizo una con el TOP y la otra sin el

Código PHP:
 <?php  
include("conexion.php"); 
$registros 2
if (!
$pagina) {  
    
$inicio 0;  
    
$pagina 1;  
}  
else {  
    
$inicio = ($pagina 1) * $registros;  
}  
     
$resultados mssql_query("select res_id,cli_nom,cli_apepat,ciu_des,hab_num,tip_des,fec_ing from cliente,treserva,thabitacion,ttipo_habitacion,tciudad where ((cliente.cli_id = treserva.cli_id)and(treserva.hab_id = thabitacion.hab_id))and ((thabitacion.tip_id =ttipo_habitacion.tip_id )and(thabitacion.ciu_id =tciudad.ciu_id ))and treserva.est_id =2 order by fec_ing"); 
$total_registros mssql_num_rows($resultados);  

$resultados mssql_query("select TOP $registros res_id,cli_nom,cli_apepat,ciu_des,hab_num,tip_des,fec_ing from cliente,treserva,thabitacion,ttipo_habitacion,tciudad where ((cliente.cli_id = treserva.cli_id)and(treserva.hab_id = thabitacion.hab_id))and ((thabitacion.tip_id =ttipo_habitacion.tip_id )and(thabitacion.ciu_id =tciudad.ciu_id ))and treserva.est_id =2 order by fec_ing desc"); 
$total_paginas ceil($total_registros $registros); 
if(
$total_registros) {     
    while(
$rs mssql_fetch_array($resultados)){ 
    
$x=" "
  
?> 
  <tr>   
    <td><div align="center"><?php echo $rs['cli_nom'],$x,$rs['cli_apepat'];?></div></td> 
    <td><div align="center"><?php echo $rs['ciu_des'];?></div></td> 
    <td><div align="center"><?php echo $rs['hab_num'];?></div></td> 
    <td><div align="center"><?php echo $rs['tip_des'];?></div></td> 
    <td><div align="center"><?php echo $rs['fec_ing'];?></div></td> 
    <td><div align="center"><a href="activar_res.php?c=<?php echo $rs['res_id']; ?>">Activar</a></div></td> 
  </tr> 
   <?php 
  

} else { 
        
?> 
        <script type="text/javascript"> 
            <!-- 
            alert("Sin Resultados") 
            // --> 
        </script> 
    <?PHP 

  
?>
ahi esta como lo mas importante creo yo
  #11 (permalink)  
Antiguo 21/12/2009, 13:35
 
Fecha de Ingreso: diciembre-2009
Mensajes: 438
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Ayuda para hacer paginacion

He encontrado esto:

[URL="http://vorg.ca/626-the-MS-SQL-equivalent-to-MySQLs-limit-command"]http://vorg.ca/626-the-MS-SQL-equivalent-to-MySQLs-limit-command[/URL]

Creo que con un simple TOP no se puede controlar a partir de qué registro te toma los datos, ya que siempre lo hace des del primero. Si tefijas en algunos de los comentarios que hay en el enlace muestran alguna solución para simular el LIMIT de mysql. Creo que se basan en consultas anidadas. Chequéalo y ya nos dirás si funcionó
  #12 (permalink)  
Antiguo 21/12/2009, 13:38
 
Fecha de Ingreso: diciembre-2009
Mensajes: 438
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Ayuda para hacer paginacion

Y te dejo tambien este otro enlace:

[URL="http://www.select-sql.com/mssql/how-to-make-limit-from-to-in-mssql-2005.html"]http://www.select-sql.com/mssql/how-to-make-limit-from-to-in-mssql-2005.html[/URL]

A ver si entre una cosa y la otra puedes conseguir lo que quieres.
  #13 (permalink)  
Antiguo 21/12/2009, 14:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda para hacer paginacion

Cita:
Iniciado por cara_luna Ver Mensaje
Te mando la paginación como yo la utilizo, modifcala de acuerdo a tus necesidades, se encuentra en resultados por página y por lineas es mas que excelente!!

mostrar.php
Código HTML:
Ver original
  1. <?
  2. require ("config/config.php");
  3. $conexion= mysql_connect("$sql_host", "$sql_usuario", "$sql_pass") or die(header ("Location:  ../error_conexion.php"));
  4. mysql_select_db("$sql_db",$conexion) or  die("Problemas en la selección de la base de datos");
  5. $base=$sql_db;
  6.  
  7. if (!isset($pg))
  8. $pg = 0; // $pg es la pagina actual
  9. $cantidad=30; // cantidad de resultados por p&#225;gina
  10. $inicial = $pg * $cantidad;
  11. if($cont==""){
  12. $cont="1";}
  13.  
  14. $pegar = "SELECT * FROM imagen_fondo where archivo_nombre='navidad' order by id_fondo LIMIT $inicial,$cantidad";
  15. $cad = mysql_query($pegar) or die (mysql_error());
  16.       $nrow = mysql_num_rows($cad);
  17.      
  18. $contar = "SELECT * FROM imagen_fondo where archivo_nombre='$navidad' ";
  19. $contarok= mysql_db_query($base,$contar);
  20. $total_records = mysql_num_rows($contarok);
  21. $pages = intval($total_records / $cantidad);
  22.  
  23. $max = 6; // Numero maximo de columnas por fila
  24. $bloq = 0; // Contador para el maximo
  25.  
  26. echo ("<table border='0'><tr>"); /* abrimos tabla y la primera fila */
  27. while($reg = mysql_fetch_array($cad)) {
  28.  
  29. if ($bloq < $max) {
  30. echo ('<td height="91" width="618"><img border="0" src="ver.php?id='.$reg['id_fondo'].'" width="91" height="63"/></td>');
  31. $bloq++;
  32. }
  33. else{
  34. echo ("</tr><tr>"); /* Se cierra una fila y se comienza la nueva */
  35. $bloq = 0;
  36. echo ('<td height="91" width="618"><img border="0" src="ver.php?id='.$reg['id_fondo'].'" width="91" height="63"/></td>');
  37. $bloq++;
  38. }
  39. }
  40. echo ("</table>"); /* Como ya se terminaron los registros cerramos la tabla */
  41.  
  42. // Creando los enlaces de paginación
  43. if ($pg > 0)
  44. {
  45. $url = $pg - 1;
  46. $a = $pg;
  47. echo  "<a href='mostrar.php?pg=".$url."'>".$a." « Anterior</a> ";
  48. } else {
  49. echo "";
  50. }
  51.                    
  52. for ($i = 0; $i<($pages + 1); $i++) {
  53. if ($i == $pg) {
  54. $b = $pg+1;
  55. echo "<font face=Arial size=2 color=ff0000><b> $b </b></font>";
  56. }
  57. else {
  58. $c = $i+1;
  59. echo  "<a href='mostrar.php?pg=".$i."'>".$c."</a> ";
  60. }
  61. }
  62.  
  63. if ($pg < $pages) {
  64. $url = $pg + 1;
  65. $d = $url+1;
  66. echo "<a href='mostrar.php?pg=".$url."'>Siguiente » ".$d."</a>";
  67. }
  68. else {
  69. echo "";
  70. }
  71. ?>

Deberás crear la pagina ver.php

Código HTML:
Ver original
  1. <?php
  2. if(isset($_GET['id'])) {
  3.  
  4. require ("config/config.php");
  5. // Conectar a la base de datos
  6. $conexion=mysql_connect("$sql_host","$sql_usuario","$sql_pass") or die("Problemas en la conexion");
  7. mysql_select_db("$sql_db",$conexion) or  die("Problemas en la selección de la base de datos");
  8.  
  9.    $sql = "SELECT archivo_nombre,archivo_binario,archivo_tipo,archivo_peso FROM imagen_fondo WHERE id_fondo='".$_GET['id']."'";
  10.  
  11.    $consulta = mysql_query($sql,$conexion);
  12.    $datos = mysql_result($consulta,0,"archivo_binario");
  13.    $tipo = mysql_result($consulta,0,"archivo_tipo");
  14.    $nombre = mysql_result($consulta,0,"archivo_nombre");
  15.    $peso = mysql_result($consulta,0,"archivo_peso");
  16.  
  17.    header("Content-type: $tipo");
  18.    header("Content-length: $peso");
  19.    header("Content-Disposition: inline; filename=$nombre");
  20.    echo $datos;
  21. }
  22. ?>

Ojalá te sirva saludos y mucha suerte.

  #14 (permalink)  
Antiguo 21/12/2009, 14:40
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: Ayuda para hacer paginacion

y que se supone que tienes en config? por que le faltaria un archivo. Saludos
__________________
Hospedaje Web al mejor costo!
  #15 (permalink)  
Antiguo 21/12/2009, 14:47
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda para hacer paginacion

Cita:
Iniciado por urgido Ver Mensaje
y que se supone que tienes en config? por que le faltaria un archivo. Saludos
Es la conexión a la base de datos:

Código PHP:
<?
$sql_host
="localhost";  // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario="usuario";        // Usuario de Mysql
$sql_pass="Password";           // contraseña de Mysql
$sql_db="Bd";     // Base de datos que se usará.
?>
A mi me funciona perfecto con estos 3 achivos, cualquier modificación para mejora será bienvenida

y si me quieren echar una manita en mi codigo que es similar pero para paginar desde un directorio se los agradecería muchisimo:
http://www.forosdelweb.com/f18/como-...ctorio-763621/

Saludos bye

Última edición por cara_luna; 21/12/2009 a las 14:55
  #16 (permalink)  
Antiguo 21/12/2009, 16:23
 
Fecha de Ingreso: diciembre-2009
Mensajes: 438
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Ayuda para hacer paginacion

El problema es que death_nemesis utiliza mssql y no mysql, y el tipo de consulta que tiene que hacer es diferente. Si alguien sabe como simular con la función TOP de mssql la función LIMIT de mysql que lo diga.
  #17 (permalink)  
Antiguo 21/12/2009, 17:19
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda para hacer paginacion

Cita:
Iniciado por Osdiwe Ver Mensaje
Y te dejo tambien este otro enlace:

[URL="http://www.select-sql.com/mssql/how-to-make-limit-from-to-in-mssql-2005.html"]http://www.select-sql.com/mssql/how-to-make-limit-from-to-in-mssql-2005.html[/URL]

A ver si entre una cosa y la otra puedes conseguir lo que quieres.
ahora le estoy echando un vistazo para ver como lo puedo adaptar a mis necesidades...

Cita:
El problema es que death_nemesis utiliza mssql y no mysql, y el tipo de consulta que tiene que hacer es diferente. Si alguien sabe como simular con la función TOP de mssql la función LIMIT de mysql que lo diga.
sep eso mismo es a lo que me refiero...aun que agradezco el interés en ayudarme
  #18 (permalink)  
Antiguo 21/12/2009, 17:43
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda para hacer paginacion

No me funciono...
  #19 (permalink)  
Antiguo 22/12/2009, 04:16
 
Fecha de Ingreso: diciembre-2009
Ubicación: Santa Fe
Mensajes: 6
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ayuda para hacer paginacion

Creo que este sería tu SQL

Cita:
SELECT * FROM (SELECT row_number() OVER (ORDER BY fec_ing) AS rownum, res_id, cli_nom, cli_apepat, ciu_des, hab_num, tip_des, fec_ing from cliente, treserva, thabitacion, ttipo_habitacion, tciudad where
((cliente.cli_id = treserva.cli_id) and (treserva.hab_id = thabitacion.hab_id)) and ((thabitacion.tip_id =ttipo_habitacion.tip_id) and (thabitacion.ciu_id=tciudad.ciu_id)) and treserva.est_id =2")) AS A
WHERE A.rownum BETWEEN ($inicio AND ($inicio + $registros)
  #20 (permalink)  
Antiguo 22/12/2009, 13:12
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda para hacer paginacion

Cita:
Iniciado por Gallote Ver Mensaje

SELECT * FROM (SELECT row_number() OVER (ORDER BY fec_ing) AS rownum, res_id, cli_nom, cli_apepat, ciu_des, hab_num, tip_des, fec_ing from cliente, treserva, thabitacion, ttipo_habitacion, tciudad where
((cliente.cli_id = treserva.cli_id) and (treserva.hab_id = thabitacion.hab_id)) and ((thabitacion.tip_id =ttipo_habitacion.tip_id) and (thabitacion.ciu_id=tciudad.ciu_id)) and treserva.est_id =2")) AS A
WHERE A.rownum BETWEEN ($inicio AND ($inicio + $registros)
Creo que este sería tu SQL
Buena viejo funciono....pero tengo otro problema resulta que al listar por ejemplo yo pongo que muestre 1 registro por pagina entonces me lista asi
estos son los datos en la BD como ejemplo
Juan, maria, pedro

Pag 1
Nombre
juan

Pag 2
Nombre
juan
maria

Pag 3
Nombre
maria
pedro

y no cacho por que sale asi siendo que deberia listar uno por pagina y no repetir el anterior algo asi

Pag 1
Nombre
juan

Pag 2
Nombre
maria

Pag 3
Nombre
pedro

Última edición por death_nemesis; 22/12/2009 a las 19:49
  #21 (permalink)  
Antiguo 23/12/2009, 07:35
 
Fecha de Ingreso: diciembre-2009
Ubicación: Santa Fe
Mensajes: 6
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Ayuda para hacer paginacion

Modificaste la siguiente linea?

Código PHP:
Ver original
  1. $registros = 2;

por

Código PHP:
Ver original
  1. $registros = 1;

es una obviedad pero tengo que preguntarte...
  #22 (permalink)  
Antiguo 23/12/2009, 13:06
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Ayuda para hacer paginacion

Cita:
Iniciado por Gallote Ver Mensaje
Modificaste la siguiente linea?

Código PHP:
Ver original
  1. $registros = 2;

por

Código PHP:
Ver original
  1. $registros = 1;

es una obviedad pero tengo que preguntarte...
si, si lo hice.... no se por que se dará eso...aun que funciona el script queda con ese detalle...
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 06:58.