Foros del Web » Programando para Internet » PHP »

Problemilla con fechas

Estas en el tema de Problemilla con fechas en el foro de PHP en Foros del Web. Hola a todos. Estoy haciendo un portal informativo y tengo que poner las farmacias de guardia. Las tengo en una base de datos con los ...
  #1 (permalink)  
Antiguo 15/08/2009, 12:27
 
Fecha de Ingreso: octubre-2008
Ubicación: Andalucia
Mensajes: 23
Antigüedad: 15 años, 6 meses
Puntos: 0
Problemilla con fechas

Hola a todos. Estoy haciendo un portal informativo y tengo que poner las farmacias de guardia. Las tengo en una base de datos con los campos fecha_id (date), nombre(varchar) y direccion(varchar). Bueno pues el problema que tengo es que yo muestro la que es igual al día en que estamos pero eso no funciona bien del todo, ya que cuando llegan las 12 de la noxe cambia a la farmacia del día siguiente y necesito mantenerlas hasta las 9 de la mañana del día siguiente (ya que las farmacias estan desde las 9 de la mañana a las 9 de la mañana del dia siguiente).
Este es el codigo que utilizo, alguien me puede ayudar?que tendria ke cambiar en el if?:
Código PHP:
<?
include_once("admin/conexion.php");

try{
    
$dbh=conectar();
                   
    
$stmt4=$dbh->query("SELECT fecha_id,farmacia, lugar FROM farmacias");
}catch (
PDOException $e){
    echo 
"Error en la consulta: ";
}
    
$fecha_a=date('Y-m-d');
    
$row4=$stmt4->fetch();
    while(
$row4){
?>
<? $fecha
$row4["fecha_id"];

        if (
$fecha === ($fecha_a)){
?>
<?
$farmacia
$row4["farmacia"];
$lugar$row4["lugar"];
$fecha_farmacia=$row4["fecha_id"];
?>
<table>
        <tr>
            <td><p><?=$farmacia?></p></td>
        </tr>
        <tr>
            <td><p><?=$lugar?></p></td>
        </tr>
        <tr>
            <td><p><?=$fecha_farmacia?></p></td>
        </tr>

    </table>
<?
}
$row4=$stmt4->fetch();
$dbh=NULL;

}
Saludos, gracias.
  #2 (permalink)  
Antiguo 16/08/2009, 05:50
 
Fecha de Ingreso: octubre-2008
Ubicación: Andalucia
Mensajes: 23
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problemilla con fechas

si no entendeis bien lo ke kiero decidlo y lo intento explicar mas claramente!

Última edición por Kstro7; 16/08/2009 a las 06:17
  #3 (permalink)  
Antiguo 16/08/2009, 08:22
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Problemilla con fechas

Se entiende :p

lo que deberías de hacer es marcar un día menos si estamos entre las 00:00 y las 09:00, algo así:

Código PHP:
<?
include_once("admin/conexion.php");

try{
    
$dbh=conectar();
                   
    
$stmt4=$dbh->query("SELECT fecha_id,farmacia, lugar FROM farmacias");
}catch (
PDOException $e){
    echo 
"Error en la consulta: ";
}


$time time();

if((
date('G') >= 0) and (date('G') < 9))
$time -= 3600*9;//le quitamos 9 horas por redondear

    
$fecha_a=date('Y-m-d'$time);

    
$row4=$stmt4->fetch();
    while(
$row4){
?>
<? $fecha
$row4["fecha_id"];

        if (
$fecha === ($fecha_a)){
?>
<?
$farmacia
$row4["farmacia"];
$lugar$row4["lugar"];
$fecha_farmacia=$row4["fecha_id"];
?>
<table>
        <tr>
            <td><p><?=$farmacia?></p></td>
        </tr>
        <tr>
            <td><p><?=$lugar?></p></td>
        </tr>
        <tr>
            <td><p><?=$fecha_farmacia?></p></td>
        </tr>

    </table>
<?
}
$row4=$stmt4->fetch();
$dbh=NULL;

}
Saludos!
__________________
Todo sobre programación en PHP
  #4 (permalink)  
Antiguo 16/08/2009, 18:58
 
Fecha de Ingreso: octubre-2008
Ubicación: Andalucia
Mensajes: 23
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problemilla con fechas

perfecto, funciona perfectamente, gracias por tu ayuda!!
saludos!
  #5 (permalink)  
Antiguo 16/08/2009, 19:07
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Problemilla con fechas

sólo un aporte, utiliza el tag completo de php (<?php ?>).
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
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 17:26.