Comunidad de diseño web y desarrollo en internet online

Duda sobre Select y Where en MySql

Citar            
MensajeEscrito el 01 Nov 2011 08:02 pm
Hola a todos... Es la primera ves que publico una duda en este Sector del foro. Espero no causar enfado por la pregunta.

Bueno estoy leyendo una bases de Datos MySql con php. pero me surgio un problema y es el siguiente:

- En la tabla de la base de datos tengo un campo que se llama Vencimiento y tiene un fecha del tipo Date. tambien ahi otros campos con otros datos que son secundarios a este.
Lo que quiero lograr es cuando selecciones la tabla mediante el Where restar las fecha actual con la de vencimiento y asi saber si esa fila la tengo que leer o no.

Lo que hice yo fue lo siguente:

Código PHP :

"SELECT * FROM $tabla WHERE DATEDIFF (CURDATE(),vencimiento) >0 "


Pero no obtuve resultados positivos. Tengo dudas si se puede usar el DATEDIFF despues del Where.

Saludos cordiales!!

Por kakinets

41 de clabLevel



 

msie
Citar            
MensajeEscrito el 01 Nov 2011 08:29 pm
Pues la sintaxis es correcta. Sí, puedes usar funciones en el WHERE.
Si no retorna registros es porque ninguno cumplió el criterio. Para que se cumpla el criterio, tal como tienes la sentencia, el registro debe tener 'vencimiento' anterior a la fecha actual.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Nov 2011 12:59 am
no se por que no tengo resultados.. cuando ago el Debug con Eclipse en la variable $result
obtengo el siguiente valor "(boolean) false" mientras yo deberia ver "resource (3) of type ("mysql result")"


aca este el codigo:

Código PHP :

       $sql = "SELECT * FROM $tabla WHERE DATEDIFF (CURDATE(),vencimiento) <  0 ";
       $result = mysql_query($sql);


ahi alguna forma de ver lo que me devuelve la funcion CURDATE() a lo mejor me esta devolviendo cualquier cosa!!


Saludos

Por kakinets

41 de clabLevel



 

msie
Citar            
MensajeEscrito el 02 Nov 2011 12:08 pm
Sí, claro, simplemente ejecuta:

Código MySQL :

SELECT CURDATE();

Pregunta ¿qué devuelve mysql_error()?

Y un consejo, instala phpmyadmin o similar, así podrás hacer pruebas con las sentencias antes de usarlas directamente.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Nov 2011 01:46 pm
Estoy usando phpmyadmin... ya logre hacerlo funcionar...

Código MySQL :

"SELECT * FROM $tabla WHERE datediff(now(), vencimiento) <  0 "



Anda chanta...

Por kakinets

41 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.