Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] abierto y cerrado

Estas en el tema de abierto y cerrado en el foro de PHP en Foros del Web. Hola a todos, tengo un problema con scritp que depende el horario de atencion tendria que decir abierto o cerrado... pero solo me dice crerrado ...
  #1 (permalink)  
Antiguo 12/01/2015, 15:32
Avatar de zreep  
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 534
Antigüedad: 10 años, 1 mes
Puntos: 12
Pregunta abierto y cerrado

Hola a todos, tengo un problema con scritp que depende el horario de atencion tendria que decir abierto o cerrado... pero solo me dice crerrado (off) y no se que esta mal...

Gracias y espero me ayuden

Código PHP:
$hora date('H:i');
$hora "9:00";
$horario "9:00 - 18:00";
$horario explode(";"$horario);
$estado "";
foreach (
$horario as $key => $value) {
    
$verifica explode("-"$value);
    if (
$verifica[0] < $hora and $verifica[1] > $hora) {
        
$estado .= ".abierto.";
        break;
    } else {
        
$estado .= "cerrado";
    }
}
if (
strpos($estado"abierto")) {
    echo 
"<span class='abr'>abierto</span>";
} else {
    echo 
"<span class='cer'>cerrado</span>";

__________________
Zreep
  #2 (permalink)  
Antiguo 12/01/2015, 16:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 8 meses
Puntos: 2534
Respuesta: abierto y cerrado

Tu comparación está mal porque "9:00" jamás va a ser mayor que "9:00" así que tu condición debería contemplar "mayor o igual" para que sea válido.

Código PHP:
Ver original
  1. $x = "9:00";
  2. $y = "9:00";
  3.  
  4. var_dump($x > $y);
  5. var_dump($x >= $y);

Por favor consulta en el manual de funciones de fecha y hora al respecto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/01/2015, 17:11
 
Fecha de Ingreso: julio-2008
Mensajes: 544
Antigüedad: 11 años, 4 meses
Puntos: 56
Respuesta: abierto y cerrado

tambien hay un error (creo) aqui

Código:
$horario = "9:00 - 18:00"; 
$horario = explode(";", $horario);
ya que en $horario no hay ; asi que, como vas a trocear a partir de los ; ?
__________________
Un saludo! :-)
Quiero ser el primero
  #4 (permalink)  
Antiguo 12/01/2015, 19:42
Avatar de zreep  
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 534
Antigüedad: 10 años, 1 mes
Puntos: 12
Respuesta: abierto y cerrado

Gracias "darchy" y "pateketrueke"... estoy tratando de reducir el codigo pero tampoco sale... debo tener una idea mal definida... estoy un poco perdido... trate de hacer esto:

Código PHP:
$date date('H:i');
$hora "9:00";
$horario "23:00";
$des strpos($hora$horario);

if (
$date >= $des) {
    echo 
"<span class='abr'>on</span>";
} else {
    echo 
"<span class='cer'>off</span>";

y no tengo resultados... ayuda
__________________
Zreep
  #5 (permalink)  
Antiguo 12/01/2015, 21:23
Avatar de zreep  
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 534
Antigüedad: 10 años, 1 mes
Puntos: 12
Respuesta: abierto y cerrado

Bueno gracias a la busqueda que hice por ahi, vi un problema similar en jquery y se me ocurrio una idea y funciona muy bien. Esto es una cholulada que me pidio un cliente... Gracias a todos por ayudar y lo voy a compartir de bueno que soy... Saludos


Código PHP:
$date date('H:i');
$on "09:00"//Hora del local abierto
$off "15:00"//Hora del local cerrado

if ($on <= $date && $off >= $date) {
    echo 
"<span class='abr'>abierto</span>";
} else {
    echo 
"<span class='cer'>cerrado</span>";
}
?> 
__________________
Zreep

Etiquetas: Ninguno
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 23:52.