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

Ayuda por favor una consulta con DATE

Estas en el tema de Ayuda por favor una consulta con DATE en el foro de Mysql en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original tengo una problema en una consulta   $query = "SELECT * FROM precio WHERE check_in <= '" . $txtDate ...
  #1 (permalink)  
Antiguo 26/04/2010, 14:28
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Ayuda por favor una consulta con DATE

Código PHP:
Ver original
  1. tengo una problema en una consulta
  2.  
  3. $query = "SELECT * FROM precio WHERE check_in <= '".$txtDate."' AND check_out >= '".$chekDate."' AND id = id ";
  4. in esta consulta quiero imprimer el precio que esta entre $txtDate y $chekDate que esta en dos columnas diferentes ejemplo:
  5.  
  6. $txtDate: 27/04/2010
  7. $chekDate: 05/05/2010
  8.  en una columna tengo el precio 10€ entre 12/04/2010 y  01/05/2010
  9. y otra columna tengo este precio 15€ entre 02/05/2010 y 30/05/2010
  10. y lo que quiero es el precio 10€ del 27/04/2010 hasta 01/05/2010 y precio 15€ entre 2/05/2010 y 05/05/2010
  11.  
  12. supongo que tengo que hacer lo con COUNT() pero no hay manera de resorverlo.gracias
  #2 (permalink)  
Antiguo 26/04/2010, 14:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Ayuda por favor una consulta con DATE

¿Cuál es la estructura de la base de datos?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/04/2010, 14:36
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Ayuda por favor una consulta con DATE

gracia por responder

la estructura es asi:

id char 20
check_in date
check_out date
precio float (6.2)
  #4 (permalink)  
Antiguo 26/04/2010, 14:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Ayuda por favor una consulta con DATE

Las fechas en la base de datos es YYYY-MM-DD, y tu la tienes DD-MM-YYYY. Debes modificarlas para que puedas verificar la información en la base de datos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 26/04/2010, 14:39
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Ayuda por favor una consulta con DATE

las columnas son asi:
id check_in check_out precio
5 12/04/2010 01/05/2010 10.00
5 02/05/2010 30/05/2010 15.00
  #6 (permalink)  
Antiguo 26/04/2010, 14:40
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Ayuda por favor una consulta con DATE

si las fechas son YYYY/mm/dd
ami me sale solo el precio de una fecha de la primera
  #7 (permalink)  
Antiguo 26/04/2010, 14:43
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda por favor una consulta con DATE

abimaelrc tiene razón.

Si tus campos están definidos como date, las fechas deben estar guardadas en formato
YYYY-MM-DD.

si las tienes almacenadas como dices, es por que las tienes como varchar.

Dependiendo de que quieras hacer se te ofrecen dos opciones:
1. Cambiar el tipo de dato de varchar a date (Recomendado)
2. Utilizar funciones de conversión a fecha para su lectura. (str_to_date)

Elige la opción y podemos darte una respuesta mas certera.

saludos arros y abimaelrc
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 26/04/2010, 15:00
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Ayuda por favor una consulta con DATE

gracias por su pespuesta
tengo el formato de las fechas las tengo YYYY/mm/dd
la consulta de hace pero el resultado no pimrime el precio de las dos columnas, imprime solo la de una oses:
el resultado de una check_in 27/04/2010 hasta 03/05/2010 (total dias 7)
70€
  #9 (permalink)  
Antiguo 26/04/2010, 15:06
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Ayuda por favor una consulta con DATE

aqui esta codigo fuente mas claro
Código PHP:
Ver original
  1. $pax = $_POST['pax'];
  2. $txtDate = $_POST['txtDate'];
  3. $chekDate = $_POST['chekDate'];
  4. $txtDate = strtotime($txtDate);
  5. $chekDate = strtotime($chekDate);
  6. $days = ceil(($chekDate + 3600) / 86400) - ceil($txtDate / 86400);
  7. $query = "SELECT * FROM precio JOIN hombre WHERE precio.check_in <= '".$txtDate."' AND precio.check_out >= '".$chekDate."' AND precio.id_hotel = hombre.id_hotel";
  8. $result = mysql_query($query, $GLOBALS['DB']);
  9.                                        while ($row = mysql_fetch_array($result))
  10.                                        {
  11.  $total_1 = $row['precio'] * $days;
  12.                                             $total_2 = $total_1 * $pax;
  13. printf ("Precio total por ".$days." noches para ".$pax." Personas: " . number_format($total_2, 2). "€");
  14.                                             echo "<br />";
porfavor ayudenme en esto:(
  #10 (permalink)  
Antiguo 26/04/2010, 15:14
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda por favor una consulta con DATE

Por partes arros...
el codigo php en este foro no está permitido. Aca solo se habla en SQL, ya tu miras como lo implementas en tu lenguaje preferido.
http://www.forosdelweb.com/f21/funci...-datos-413499/

No termino de entender que es lo que almacenas en la tabla.

ni cuales son los resultados que buscas.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #11 (permalink)  
Antiguo 26/04/2010, 15:20
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Ayuda por favor una consulta con DATE

lo siento sobre el codigo huesos52 es que llevo dias buscando la respuesta pero nada.
lo que quiero es un resultado de precio que se encuentra en dos fechas pero en cada columna tiene los precios diferentes.
pero en me consulta me sale solo una precio de una columna * dias * personas
gracias y saludo huesos52
  #12 (permalink)  
Antiguo 26/04/2010, 15:40
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda por favor una consulta con DATE

prueba esto:

Código SQL:
Ver original
  1. SELECT precio.id,
  2. precio.check_in,
  3. precio.check_out,
  4. (precio.precio*datediff(precio.check_in,precio.check_out)) precio_total
  5. FROM
  6. precio
  7. JOIN
  8. hombre
  9. ON id_precio.hotel = hombre.id_hotel
  10. WHERE precio.check_in <= txtDate
  11. AND precio.check_out >= checkDate

Pruebala desde mysql y no desde php. Si te sirve, después la acomodas.

No la he probado
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #13 (permalink)  
Antiguo 26/04/2010, 15:42
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Ayuda por favor una consulta con DATE

gracias huesos52
la voy a prubar.

Etiquetas: date, favor
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 21:10.