Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta php-sql no funciona "menor que", pero si "mayor que"

Estas en el tema de Consulta php-sql no funciona "menor que", pero si "mayor que" en el foro de PHP en Foros del Web. Buenas tengo el siguiente query mysql: Código: $query_saldo_anterior = "SELECT SUM(monto) FROM `pagos` WHERE `cedula` = \"" . $cedula_para_ver . "\" AND `fecha` < \"".$fecha_desde."\""; ...
  #1 (permalink)  
Antiguo 12/09/2013, 07:20
 
Fecha de Ingreso: octubre-2012
Ubicación: Montevideo, Uruguay
Mensajes: 13
Antigüedad: 12 años, 1 mes
Puntos: 0
Consulta php-sql no funciona "menor que", pero si "mayor que"

Buenas tengo el siguiente query mysql:

Código:
$query_saldo_anterior = "SELECT SUM(monto) FROM  `pagos` WHERE  `cedula` = \"" . $cedula_para_ver . "\" AND  `fecha` < \"".$fecha_desde."\"";
Cuando utilizo ese query, el query resultante es:

Código:
SELECT SUM(monto) FROM `pagos` WHERE `cedula` = "50298564" AND `fecha`
y si cambio el "<" por un ">", ahí si funciona, y recibo

Código:
SELECT SUM(monto) FROM `pagos` WHERE `cedula` = "50298564" AND `fecha` > "2013-05-01"

Será que el caracter "<" necesita ser enviado de otra forma?

Por favor ayudaa! Gracias
  #2 (permalink)  
Antiguo 12/09/2013, 07:27
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

El código que expones es correcto, tal vez el error es anterior, o en las variables.

Código PHP:
<?php

$foo 
123;
echo 
"SELECT SUM(monto) FROM  `pagos` WHERE  `cedula` = \"" $foo "\" AND  `fecha` < \""$foo ."\"";
echo 
"<br/>";
echo 
"SELECT SUM(monto) FROM  `pagos` WHERE  `cedula` = \"" $foo "\" AND  `fecha` > \""$foo ."\"";

?>
Salida:
SELECT SUM(monto) FROM `pagos` WHERE `cedula` = "123" AND `fecha` < "123"
SELECT SUM(monto) FROM `pagos` WHERE `cedula` = "123" AND `fecha` > "123"
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 12/09/2013, 07:28
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Cita:
Iniciado por jerearaujo Ver Mensaje

Será que el caracter "<" necesita ser enviado de otra forma?
Buenas, a qué te refieres con "ENVIADO"??

el query no se ejecuta? o lo estas enviando como STRING a algún lugar? no estoy comprendiendo..
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #4 (permalink)  
Antiguo 12/09/2013, 07:30
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 13 años, 5 meses
Puntos: 56
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Podrias revisar si hay datos en tu bd que cumplen esa condicion, prueba ejecutar directamente en mysql:

Código MySQL:
Ver original
  1. WHERE `cedula` = "50298564" AND `fecha` < "2013-05-01"
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #5 (permalink)  
Antiguo 12/09/2013, 07:33
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Cita:
Iniciado por CesarHC Ver Mensaje
Podrias revisar si hay datos en tu bd que cumplen esa condicion, prueba ejecutar directamente en mysql:

Código MySQL:
Ver original
  1. WHERE `cedula` = "50298564" AND `fecha` < "2013-05-01"
Pero el problema que indica es que le esta truncando parte del string del query, no es un tema de datos, si la consulta esta mal formada.

SELECT SUM(monto) FROM `pagos` WHERE `cedula` = "50298564" AND `fecha`
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 12/09/2013, 07:44
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

hola por que no lo haces de esta forma:

$query_saldo_anterior = "SELECT SUM(monto) FROM pagos WHERE cedula = '{$cedula_para_ver}' AND fecha < '{$fecha_desde}' ";

deberia mostrar bien la query
  #7 (permalink)  
Antiguo 12/09/2013, 07:46
 
Fecha de Ingreso: octubre-2012
Ubicación: Montevideo, Uruguay
Mensajes: 13
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Yo lo que tengo es

Código:
$query_saldo_anterior = "SELECT SUM(monto) FROM  `pagos` WHERE  `cedula` = \"" . $cedula_para_ver . "\" AND  `fecha` > \"".$fecha_desde."\"";
Y por url paso la variable fecha y cedula. Luego imprimo el query anterior, para ver como quedó finalmente (con las variables).

Al ejecutar el php, si la condicion del query es que sea menor, entonces me trunca el query, pero si la condicion es que sea mayor, no lo hace! Ni siquiera estoy llegando a ejecutar la consulta, asi que el problema no tiene nada que ver con la base de datos.
  #8 (permalink)  
Antiguo 12/09/2013, 07:54
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

y si lo probas de manera normal?

Código SQL:
Ver original
  1. $query_saldo_anterior = "SELECT SUM(monto) FROM  pagos WHERE  cedula = '" . $cedula_para_ver . "' AND  fecha < '".$fecha_desde."'";
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #9 (permalink)  
Antiguo 12/09/2013, 07:55
 
Fecha de Ingreso: octubre-2012
Ubicación: Montevideo, Uruguay
Mensajes: 13
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Cita:
Iniciado por Patriarka Ver Mensaje
hola por que no lo haces de esta forma:

$query_saldo_anterior = "SELECT SUM(monto) FROM pagos WHERE cedula = '{$cedula_para_ver}' AND fecha < '{$fecha_desde}' ";

deberia mostrar bien la query

Tampoco funcionó.. :/

Tal vez debí aclarar que estoy imprimiendo el html resultante en un PDF (mediante TCPDF), aunque no creo que tenga que ver.
  #10 (permalink)  
Antiguo 12/09/2013, 07:57
 
Fecha de Ingreso: octubre-2012
Ubicación: Montevideo, Uruguay
Mensajes: 13
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Cita:
Iniciado por loncho_rojas Ver Mensaje
y si lo probas de manera normal?

Código SQL:
Ver original
  1. $query_saldo_anterior = "SELECT SUM(monto) FROM  pagos WHERE  cedula = '" . $cedula_para_ver . "' AND  fecha < '".$fecha_desde."'";
Me pasa lo mismo, si pongo mayor funciona, si pongo menor no funciona
  #11 (permalink)  
Antiguo 12/09/2013, 08:01
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

y con >=
o <=

??

Quizá exista algo en tus variables o en alguna parte antes de tu código que este creando este conflicto, como ya te dijeron..
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 12/09/2013 a las 08:06
  #12 (permalink)  
Antiguo 12/09/2013, 08:01
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Intenta pasarnos el código completo, tanto el formulario que hace el post, como el php que recoge los datos y forma las querys.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #13 (permalink)  
Antiguo 12/09/2013, 08:05
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 13 años, 5 meses
Puntos: 56
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Tu consulta la he probado y esta correcta, asi que el problema debe estar en las variables que le estas pasando.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #14 (permalink)  
Antiguo 12/09/2013, 08:11
 
Fecha de Ingreso: octubre-2012
Ubicación: Montevideo, Uruguay
Mensajes: 13
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Cita:
y con >=
o <=

??

Quizá exista algo en tus variables o en alguna parte antes de tu código que este creando este conflicto, como ya te dijeron..
Lo mismo, <= no funciona, >= si.
Sin duda es un problema con el caracter "<"


Cita:
Tu consulta la he probado y esta correcta, asi que el problema debe estar en las variables que le estas pasando.
Entonces debe ser problema de TCPDF entonces, porque las variables las estoy pasando bien :/
  #15 (permalink)  
Antiguo 12/09/2013, 08:13
 
Fecha de Ingreso: octubre-2012
Ubicación: Montevideo, Uruguay
Mensajes: 13
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Funcionará la consulta si la hago de esta manera, osea "dando vuelta" la cosa?

Código:
$query_saldo_anterior = "SELECT SUM(monto) FROM  pagos WHERE  cedula = '" . $cedula_para_ver . "' AND  '".$fecha_desde."' > fecha";
  #16 (permalink)  
Antiguo 12/09/2013, 08:19
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Cita:
Iniciado por jerearaujo Ver Mensaje
Funcionará la consulta si la hago de esta manera, osea "dando vuelta" la cosa?
vos sos el del problema, cómo vamos a saber eso si no lo probas...

podrias imprimir las variables antes de ser enviadas a ver si estan bien?? no puede ser que se te trunque ahi una consulta por un operador o porque a tu navegador se le ocurre que es un caracter neutro o de alguna etiqueta...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #17 (permalink)  
Antiguo 12/09/2013, 08:28
 
Fecha de Ingreso: octubre-2012
Ubicación: Montevideo, Uruguay
Mensajes: 13
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta php-sql no funciona "menor que", pero si "mayor que"

Cita:
Iniciado por jerearaujo Ver Mensaje
Funcionará la consulta si la hago de esta manera, osea "dando vuelta" la cosa?

Código:
$query_saldo_anterior = "SELECT SUM(monto) FROM  pagos WHERE  cedula = '" . $cedula_para_ver . "' AND  '".$fecha_desde."' > fecha";
Cita:
Iniciado por jerearaujo Ver Mensaje
Lo mismo, <= no funciona, >= si.
Sin duda es un problema con el caracter "<"




Entonces debe ser problema de TCPDF entonces, porque las variables las estoy pasando bien :/
Cita:
Iniciado por loncho_rojas Ver Mensaje
vos sos el del problema, cómo vamos a saber eso si no lo probas...

podrias imprimir las variables antes de ser enviadas a ver si estan bien?? no puede ser que se te trunque ahi una consulta por un operador o porque a tu navegador se le ocurre que es un caracter neutro o de alguna etiqueta...


Al final funcionó, dando vuelta las cosas. Igual es rarísimo lo del caracter ese Gracias igual por la ayuda, y por responder al toque :)

Etiquetas: fecha, mayor, menor, mysql, select
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 14:53.