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

Consulta sin resultados, porque?

Estas en el tema de Consulta sin resultados, porque? en el foro de Mysql en Foros del Web. hola, tengo una consulta a la base de datos que no me produce ningun resultado y supongo que algo estoy haciendo mal porque en la ...
  #1 (permalink)  
Antiguo 07/07/2007, 03:48
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 19 años, 8 meses
Puntos: 0
Consulta sin resultados, porque?

hola, tengo una consulta a la base de datos que no me produce ningun resultado y supongo que algo estoy haciendo mal porque en la base de datos el resultado existe.

la consulta es la siguiente (la variable $date tiene el valor de 23-05-2007 por ejemplo) mi pregunta es la siguiente, estaria bien construido el siguiente SELECT? si no es asi, como tendria que realizarlo?

Código PHP:
$sql "SELECT ID_noticia, titulo, categoria, DATE_FORMAT(fecha,'%d-%m-%Y') as fecha, resumen, noticia, imagen, comentario, autor, hora, fuente FROM noticias WHERE fecha = $date"
lo he probado sustituyendo la variable por la fecha directamente y tampoco me produce ningun resultado

Código PHP:
$sql "SELECT ID_noticia, titulo, categoria, DATE_FORMAT(fecha,'%d-%m-%Y') as fecha, resumen, noticia, imagen, comentario, autor, hora, fuente FROM noticias WHERE fecha = 23-05-2007"
Gracias por vuestro interes
  #2 (permalink)  
Antiguo 07/07/2007, 06:36
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Re: Consulta sin resultados, porque?

Prueba con
Cita:
$sql = "SELECT ID_noticia, titulo, categoria, DATE_FORMAT(fecha,'%d-%m-%Y') as fecha, resumen, noticia, imagen, comentario, autor, hora, fuente FROM noticias WHERE fecha='23-05-2007' "
o de esta otra manera:
Cita:
$sql = "SELECT ID_noticia, titulo, categoria, DATE_FORMAT(fecha,'%d-%m-%Y') as fecha, resumen, noticia, imagen, comentario, autor, hora, fuente FROM noticias WHERE fecha = '$date' ";
en resumen, las fechas van entre comillas simples ;)
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 07/07/2007, 16:36
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Consulta sin resultados, porque?

Muchas Gracias jcxnet, lo he probado y era eso, las comillas simples.
Ahora me surge otro problema, no me respeta el formato que le intento dar con DATE_FORMAT(fecha,'%d-%m-%Y'), para que me encuentre el resultado tengo que poner la fecha al estilo de mysql 2007-05-23 y me la muestra de esta misma forma en cambio cuando realizo la misma busqueda por ID_noticia en lugar de por fecha, el formato lo saca bien.
Porque puede ser? no es compatible DATE_FORMAT(fecha,'%d-%m-%Y') con este tipo de busqueda?

Gracias por vuestra ayuda
  #4 (permalink)  
Antiguo 07/07/2007, 20:08
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Re: Consulta sin resultados, porque?

Hola, pues las fechas siempre se graban en el formato Y-m-d, y en ese formato es que se deben grabar, de lo contrario tendrías un valor similar a 0000-00-00
Estas funciones que utilizo te pueden servir
Cita:
function fecha_mysql($fecha){
ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $fecha_mysql);
$cambio=$fecha_mysql[3].'-'.$fecha_mysql[2].'-'.$fecha_mysql[1];
return $cambio;
}

function mysql_fecha($fecha){
ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $fecha_normal);
$cambio=$fecha_normal[3]."/".$fecha_normal[2]."/".$fecha_normal[1];
return $cambio;
}
la primera es para almacenar las fechas en la base de datos y la segunda es para mostrarla en el formato d-m-Y
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #5 (permalink)  
Antiguo 08/07/2007, 00:00
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Consulta sin resultados, porque?

Gracias jcxnet lo probare de hacer de esta manera
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 10:35.