Foros del Web » Programando para Internet » PHP »

Zebra_Pagination

Estas en el tema de Zebra_Pagination en el foro de PHP en Foros del Web. Buenos dias,buenas tardes,buenas noches a todos : quisiera consultarles si se puede aplicar zebra_pagination si estoy usando como base de datos sql 2012? en realidad ...
  #1 (permalink)  
Antiguo 21/05/2015, 10:31
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Zebra_Pagination

Buenos dias,buenas tardes,buenas noches a todos :

quisiera consultarles si se puede aplicar zebra_pagination si estoy usando como base de datos sql 2012? en realidad con mysql me funcionaba perfecto,pero cuando llegue a la consulta limit no lo acepta, si es asi me podrian dar un ejemplo de como hacerlo.

dejo la parte solo de la consulta:
Código SQL:
Ver original
  1. SELECT * FROM registros JOIN empleados ON registros.id_empleado=empleados.id_empleado
  2. JOIN empresa ON registros.id_empresa=empresa.id_empresa
  3. JOIN marcas ON registros.id_marca=marcas.id_marca
  4. JOIN porcentajes ON registros.id_porcentaje=porcentajes.id_porcentaje
  5. WHERE registros.activo='1'  AND registros.facturado='2' AND   registros.id_porcentaje=porcentajes.id_porcentaje ". $filtro . "
  6. ORDER BY  registros.id_registro  LIMIT "  .(($paginacion->get_page()-1)*$resul_x_pagina). ',' .$resul_x_pagina

muchas gracias

Última edición por gnzsoloyo; 21/05/2015 a las 11:22
  #2 (permalink)  
Antiguo 21/05/2015, 10:33
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Zebra_Pagination

para sql server se usa la clausula top en lugar de limit... tendrias que cambiar la logica de tu query para poder aplicarlo a sql server
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 21/05/2015, 11:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Zebra_Pagination

Ten en cuenta que cambiar de DBMS no es simplemnte cambiar de conexiones y de librería de acceso a Base de Dtos.
Sin bien todos los DBMS entienden el ANSI SQL, existen grandes diferencias en clausulas y funciones no estándares.

Cuando pasas de uno a otro te conviene tener el manual de referencia a mano...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 21/05/2015, 12:28
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Zebra_Pagination

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Ten en cuenta que cambiar de DBMS no es simplemnte cambiar de conexiones y de librería de acceso a Base de Dtos.
Sin bien todos los DBMS entienden el ANSI SQL, existen grandes diferencias en clausulas y funciones no estándares.

Cuando pasas de uno a otro te conviene tener el manual de referencia a mano...

oye muchas gracias por u respuesta,ya que tu eres uno de los grandes moderadores que hay en le foro,pero mientras no me podrias hacer el fa de echar una mano para salir de este estancadero

muchas gracias
  #5 (permalink)  
Antiguo 21/05/2015, 12:33
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Zebra_Pagination

para poder pasarlo a sql server se tendria que ver que valores mandas a mysql, esta funcion

Código PHP:
Ver original
  1. $paginacion->get_page()

que regresa???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 21/05/2015, 12:45
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Zebra_Pagination

Cita:
Iniciado por Libras Ver Mensaje
para poder pasarlo a sql server se tendria que ver que valores mandas a mysql, esta funcion

Código PHP:
Ver original
  1. $paginacion->get_page()

que regresa???


de nuevo muchas gracias mira aqui pongo como me funciona con mysql:

Código PHP:
Ver original
  1. ////////////////////////////////////////consulta ala base de datos////////////////////////////////
  2. $rst_registros=mysql_query("SELECT * FROM registros JOIN empleados on registros.id_empleado=empleados.id_empleado JOIN empresa on registros.id_empresa=empresa.id_empresa JOIN marcas on registros.id_marca=marcas.id_marca JOIN porcentajes on registros.id_porcentaje=porcentajes.id_porcentaje
  3. WHERE registros.activo='1'  and registros.facturado='2' and   registros.id_porcentaje=porcentajes.id_porcentaje    
  4. and registros.id_rol<> '1' and registros.id_rol<> '2'  and registros.id_rol<> '4' and registros.id_rol<> '5' and registros.id_rol<> '6' and registros.id_rol<> '7' and registros.id_rol<> '8' and registros.id_rol<> '9' and registros.id_rol<> '10' and registros.id_rol<> '11' ". $filtro . " ORDER BY  registros.id_registro;",$conexion)or die(odbc_error());
  5. }
  6.  
  7. /////////////////////luego averiguo cuantos resultados devolvio la consulta anterior,esta parte la pongo tal cual dice la pagina de zebra pagination que son los unicos datos que nesecita para poder paginar
  8.  
  9. $resul_x_pagina=10;
  10.  
  11. $numero_reg=odbc_num_rows($rst_registros);
  12. $paginacion= new Zebra_Pagination();
  13. $paginacion->records($numero_reg);
  14. $paginacion->records_per_page($resul_x_pagina);
  15.  
  16.  
  17.  
  18. ////////////////////////////y por ultimo una consulta con la funcion limit de mysql para poder paginar
  19.  
  20. $rst_registros=mysql_query("SELECT * FROM registros JOIN empleados on registros.id_empleado=empleados.id_empleado JOIN empresa on registros.id_empresa=empresa.id_empresa JOIN marcas on registros.id_marca=marcas.id_marca JOIN porcentajes on registros.id_porcentaje=porcentajes.id_porcentaje
  21. WHERE registros.activo='1'  and registros.facturado='2' and   registros.id_porcentaje=porcentajes.id_porcentaje ". $filtro . " ORDER BY  registros.id_registro  LIMIT "  .(($paginacion->get_page()-1)*$resul_x_pagina). ',' .$resul_x_pagina,$conexion)or die(mysql_error());
  22. }

asi me funciona en mysql.

muchas gracias

Última edición por gnzsoloyo; 21/05/2015 a las 12:58
  #7 (permalink)  
Antiguo 21/05/2015, 12:55
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Zebra_Pagination

aqui el punto es: que hace la funcion Zebra_Pagination???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 21/05/2015, 12:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Zebra_Pagination

Gente: Si va a tratar el tema con relacion al PHP, muevo el post de foro, porque en los de BBDD, como ya saben, no se tratan temas de programación...



Ustedes me dicen, de lo contrario procederé a quitar todo el codigo PHp de los posts, como dicen las reglas del foro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 21/05/2015, 13:01
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Zebra_Pagination

Cita:
Iniciado por Libras Ver Mensaje
aqui el punto es: que hace la funcion Zebra_Pagination???
Hola:

pues la verdad nos se ,solo la uso ellos en su pagina dicen que solo nesecitan eso que coloque en el mensaje anterior y funciona,pero me imagino que detras de la libreria que yo descargue debe haber un monton de codigo,mi pregunta es que en sql se hace con la funcion top(10) por ejemplo,como haria para colocar ese codigo

.(($paginacion->get_page()-1)*$resul_x_pagina). ',' .$resul_x_pagina,$conexion

dentro de de ese top( ???? )
  #10 (permalink)  
Antiguo 21/05/2015, 15:21
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Zebra_Pagination

en sql server tendrias que meter una funcion row_number(para obtener el numero de registros) luego verias cuantos resultados quieres por cada pagina, y en lugar de hacerlo con un top tendrias que hacerlo con un between entre los valores que necesitas y listo :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #11 (permalink)  
Antiguo 21/05/2015, 21:19
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Zebra_Pagination

Cita:
Iniciado por Libras Ver Mensaje
en sql server tendrias que meter una funcion row_number(para obtener el numero de registros) luego verias cuantos resultados quieres por cada pagina, y en lugar de hacerlo con un top tendrias que hacerlo con un between entre los valores que necesitas y listo :)
vale muchas gracias por la respuesta probare tal y como dices y te cuento

saludos!!

Etiquetas: select, sql, sql-server
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 11:38.