Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GARC

Select de horas com 2 intervalos.

Recommended Posts

Pessoal a um tempo atrás consegui uma resolução para montar uma combo de horas o código segue abaixo.

 

<?php

$hora_inicio= "06:00";
$hora_fim= "13:00";

$ini = strtotime($hora_inicio);
$fim = strtotime($hora_fim);
$atu = $ini;
$i = 0;
for ($atu = $ini; $atu <= $fim; $atu = strtotime('+10 minutes', $atu)) {

?>

<option value="<?php echo date('H:i', $atu); ?>"><?php echo date('H:i', $atu); ?> </option>

<?php
}
?> 
</select>

Como podem observar, o script pega o valor da hora início e soma mais 10 minutos até a hora fim. Até ae tudo bem, porém preciso agora inserir na combobox 4 valores:

 

$hora_inicio1= "06:00";

$hora_fim1= "13:00";

$hora_inicio2= "14:00";

$hora_fim2= "22:00";

 

Ou seja, a cobobox será montada com o intervalo de 06:00 às 13:00 e de 14:00 às 22:00 pulando os outros horários. Sei que isso é possível, mais como implantar neste código já em funcionamento.

 

Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá GARC,

 

não sei se entendi perfeitamente o seu problema, e nem se essa é a melhor solução, mas testei aqui e funfou:

 

esse é o código que eu fiz alterando o seu:

 

<select>
<?php

$hora_inicio= "06:00";
$hora_fim= "22:00";

$ini = strtotime($hora_inicio);
$fim = strtotime($hora_fim);
$atu = $ini;
$i = 0;
for ($atu = $ini; $atu <= $fim; $atu = strtotime('+10 minutes', $atu)) {

?>

<option value="<?php echo date('H:i', $atu); ?>"><?php echo date('H:i', $atu); ?> </option>

<?
if(date('H:i', $atu) == '13:00')
	{
	$atu = strtotime('+50 minutes', $atu);
	}

}
?> 
</select>

testa aew e depois posta se funfou e se era isso mesmo que você queria!!

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na minha opnião seria mais facil se você colocasse os horarios em um unico array

e depois utilizasse um foreach para fazer os options.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

msantino obrigado.

 

O único problema é que os valores são aleatórios. Eu coloquei esses valores como ex, funciona perfeitamente, mas são aleatórios. A única coisa que é sempre igual é o intervalo de 15 minutos.

 

 

Obrigado.

 

Periscuelo

 

Tem como colocar um ex com array e foreach?

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.