Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Registros vacíos con LIMIT

Estas en el tema de Registros vacíos con LIMIT en el foro de Mysql en Foros del Web. hola buenas mi gente espero que esten de maravilla... tengo el siguiente problema, estoy asiendo una paginacion y tengo una consulta mysqli con varias clausulas ...
  #1 (permalink)  
Antiguo 25/11/2014, 21:14
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 5 años, 7 meses
Puntos: 0
Registros vacíos con LIMIT

hola buenas mi gente espero que esten de maravilla...
tengo el siguiente problema, estoy asiendo una paginacion y tengo una consulta mysqli con varias clausulas o filtros
y para que no se me sature la pagina pues le puse la clausula LIMIT y el problema viene aqui, si pongo LIMIT 700, 30 y si en esos 30 registros no se cumplen las clausulas o filtros no me trae nada si hay alguna manera de que esos 30 registros de que los 30 regitrios solo se traigan si cumplen las clausulas o los filtros
muchas gracias
  #2 (permalink)  
Antiguo 26/11/2014, 01:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 11 años, 7 meses
Puntos: 574
Respuesta: Registros vacíos con LIMIT

Los filtros y LIMIT no tienen mucho que ver.....

Primero tenemos tal atbal con X registros
Segundo aplicamos los filtros y nos quedan X-Y registros
Tercero aplicamos LIMIT cuyos dos parametros nos dicen que registros veremos
----El primer parametro debe se menor a X-Y
----El segundo menor o igual.

Si con los filtros obtines 25 registros si haces

LIMIT 0, 25

los verás todos. En cmbio si haces

LIMIT 25,25

no veras ninguno
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 26/11/2014, 06:32
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 5 años, 7 meses
Puntos: 0
Respuesta: Registros vacíos con LIMIT

Cita:
Iniciado por quimfv Ver Mensaje
Los filtros y LIMIT no tienen mucho que ver.....

Primero tenemos tal atbal con X registros
Segundo aplicamos los filtros y nos quedan X-Y registros
Tercero aplicamos LIMIT cuyos dos parametros nos dicen que registros veremos
----El primer parametro debe se menor a X-Y
----El segundo menor o igual.

Si con los filtros obtines 25 registros si haces

LIMIT 0, 25

los verás todos. En cmbio si haces

LIMIT 25,25

no veras ninguno
se cual es la cantidad de registros que obtengo pero la cosa es que por ejemplo si pongo limit 150, 30 los veo sin problemas pero so pongo limit 180, 30 nada, limit 210, 30 nada, pero limit 240, 30 si me trae registros nose cual es mi problema este es mi consulta
Código MySQL:
Ver original
  1. SELECT * FROM datos_propiedad
  2. WHERE provincia LIKE '%$buscar%' AND alquiler<='$precio_1' AND tipo_inmueble='$tipo_inmueble_1'
  3. LIMIT 150, 30"

Última edición por gnzsoloyo; 26/11/2014 a las 08:18
  #4 (permalink)  
Antiguo 26/11/2014, 08:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.318
Antigüedad: 11 años, 10 meses
Puntos: 2653
Respuesta: Registros vacíos con LIMIT

Cita:
se cual es la cantidad de registros que obtengo pero la cosa es que por ejemplo si pongo limit 150, 30 los veo sin problemas pero so pongo limit 180, 30 nada, limit 210, 30 nada, pero limit 240, 30 si me trae registros nose cual es mi problema este es mi consulta
Empecemos por tener claro lo que pasa en cada caso:
Código MySQL:
Ver original
  1. LIMIT 150, 30
Esto devuelve los registros que en la tabla resultado correspondan a las posiciones 151 a 180.
Código MySQL:
Ver original
  1. LIMIT 180, 30
Devuelve los registros 181 a 210 del mismo caso.
Código MySQL:
Ver original
  1. LIMIT 210, 30
Devuelve los registros 211 a 240 del mismo caso.
Código MySQL:
Ver original
  1. LIMIT 240, 30
Devuelve los registros 241 a 270 del mismo caso.

Ahora bien, la pregunta principal es cuántos registros devuelve en total la consulta si el LIMIT... Pero para eso lo primero que deberías decirnos es si todas las cuatro pruebas las realizaste con exactamente los mismos parámetros para $buscar, $precio_1 y $tipo_inmueble_1 , ya que siendo las condiciones del WHERE, cualquier variacion en el contenido de esas variables puede alterar el resultado obtenido en el LIMIT, invalidando tu prueba.

¿Se entiende?

Prueba manualmente una consulta con valores constantes, en MySQL, y verifica qué devuelve en cada caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 26/11/2014, 10:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 11 años, 7 meses
Puntos: 574
Respuesta: Registros vacíos con LIMIT

Lo que quiere decir @gnzsoloyo, creo, es que si no hay otros cambios en la consulta no tienen sentido los resultados que comentas....

La provincia no es una cosa exacta , lo digo por el like, es muy ineficiente

Intenta esto

Código MySQL:
Ver original
  1. SELECT * FROM datos_propiedad
  2. WHERE provincia='Barcelona' AND alquiler<=1000 AND tipo_inmueble='TipoX'

subtituyendo Barcelona por una provincia que tengas en la bbdd y TipoX por un tipo que exista....

Ejecutas sin el LIMIT, el numero de registros que obtengas te dirá hasta que limit puedes llegar.... Si obtienes 150 cualquier consulta con LIMIT superior (en su primer parametro) debería retornarte 0 cero registros.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #6 (permalink)  
Antiguo 26/11/2014, 12:24
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 5 años, 7 meses
Puntos: 0
Respuesta: Registros vacíos con LIMIT

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Ahora bien, la pregunta principal es cuántos registros devuelve en total la consulta si el LIMIT... Pero para eso lo primero que deberías decirnos es si todas las cuatro pruebas las realizaste con exactamente los mismos parámetros para $buscar, $precio_1 y $tipo_inmueble_1 , ya que siendo las condiciones del WHERE, cualquier variacion en el contenido de esas variables puede alterar el resultado obtenido en el LIMIT, invalidando tu prueba.

¿Se entiende?

Prueba manualmente una consulta con valores constantes, en MySQL, y verifica qué devuelve en cada caso.
si te entiendo y si es esxactamente con los mismos parametros, porque es una paginacion que eestoy asiendo por ejemplo click la pagina 1 y me aparecen los 30 registros que serian limit 0, 30 cllick la pagina dos y serian limit 30,30 click la pagina 3 y seria limit 60, 30 pero yego a un punto en que no me aparecen los 30 registros si no de los 30 solo 10, 15 o nada y no es en la ultima pagina porque hay seria normal es despues de la mitad
Cita:
Editado: Código de programacion no permitido en foros de BBDD. Leer las normas del Foro, por favor...
Gracias por sus respuestas

Última edición por gnzsoloyo; 26/11/2014 a las 12:38
  #7 (permalink)  
Antiguo 26/11/2014, 12:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.318
Antigüedad: 11 años, 10 meses
Puntos: 2653
Respuesta: Registros vacíos con LIMIT

Haz lo que te dijimos... realiza una pruena directamente con SQL y con valores fijos sobre MySQL, sea usando phpMyadmin u otra interfaz.
Lo que describes tiene todo el aspecto de un defecto de la aplicación y no de las consultas, ya que si la consulta estuviese mal, fallaría siemrpe en todos los casos. Pero cuando dices que haces sucesisvos "clicks", estás hablando de un comportamientoque dependerá de las variables en la aplicación, y eso es ajeno a MySQL.

Si no quieres hacer la prueba en phpMyadmin, haz lo siguiente: Que te imprima la query a ejecutar en pantalla cada vez que haces "click", si hay un error de manejo de variables, se notará a simple vista.
En esas queries lo único que debe variar entre diferntes "clicks" es exclusivamente el valor de los parámetros del LIMIT. Eso y nada más.

Copia lo que se te vaya presentando en pantalla (Sólo la query en SQL) y postealo acá para que podamos analizar tu problema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 26/11/2014, 12:36
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 5 años, 7 meses
Puntos: 0
Respuesta: Registros vacíos con LIMIT

ok prubo y te digo
  #9 (permalink)  
Antiguo 26/11/2014, 12:53
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 5 años, 7 meses
Puntos: 0
Respuesta: Registros vacíos con LIMIT

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Copia lo que se te vaya presentando en pantalla (Sólo la query en SQL) y postealo acá para que podamos analizar tu problema.
Código MySQL:
Ver original
  1. SELECT * FROM datos_propiedad
  2. WHERE provincia='santo domingo, pedro brnd' /*LIKE '%$buscar%'ç*/ AND alquiler<='$precio_1' AND tipo_inmueble='$tipo_inmueble_1'
  3. ORDER BY id DESC LIMIT 280, 60
hay ise la consulta con valores fijos y nada hay no me muestra nada desde el registro 280 , 60 nada pero si pongo limit 210, 60 si me muestra voy a borrar todos los registros y volver a insertar para ver que ppasa :/

Última edición por gnzsoloyo; 26/11/2014 a las 13:01
  #10 (permalink)  
Antiguo 26/11/2014, 13:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.318
Antigüedad: 11 años, 10 meses
Puntos: 2653
Respuesta: Registros vacíos con LIMIT

No hiciste lo que te pedimos...
Postea las sentencias que te muestre en pantalla, donde las variables ya hayan sido reemplazadas por sus contenidos.

En este foro NO trabajamos programación, sólo SQL y datos concretos.
Cuando lo que nos posteas contiene variables no nos sirve.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 26/11/2014, 13:27
 
Fecha de Ingreso: marzo-2014
Ubicación: cararias/lanzarote
Mensajes: 165
Antigüedad: 5 años, 7 meses
Puntos: 0
Respuesta: Registros vacíos con LIMIT

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No hiciste lo que te pedimos...
Postea las sentencias que te muestre en pantalla, donde las variables ya hayan sido reemplazadas por sus contenidos.

En este foro NO trabajamos programación, sólo SQL y datos concretos.
Cuando lo que nos posteas contiene variables no nos sirve.
disculpa las molestias pero el error creo que era mio los registros estaban mal insertados o algo parecido porque he vuelto a insertar registros nuevos y me muestra todos los registros
  #12 (permalink)  
Antiguo 26/11/2014, 13:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.318
Antigüedad: 11 años, 10 meses
Puntos: 2653
Respuesta: Registros vacíos con LIMIT

...suele pasar...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: limit, registro, registros, sql
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 23:55.