r.guerra 0 Denunciar post Postado Setembro 24, 2016 fala galera! to precisando de uma luz para um esquema meu aqui. seguinte: tenho uma tabela de dentistas assim: codigo dentista intervalo 1 fulano 30 2 ciclano 10 3 beltrano 15 o que preciso é gerar na tela uma listagem de 8 as 20hs e nos minutos pegar o intervalo de cada dentista. ao meu ver acho que a solução é o for(), mas não consigo montar a estrutura correta, alguém tem ideias ai? ficaria tipo assim na tela: dentista 1 8:00 8:30 9:00 9:30 ...... 20:00 dentista 2 8:00 8:10 8:20 8:30 8:40 8:50 9:00 .... 20:00 dentista 3 8:00 8:15 8:30 8:45 9:00 .....20:00 pensei em algo assim: (mas deu errado kkkk) ...... $inter = $obj_dentista_agenda -> intervalo; for( $h = 8 ; $h <= 20 ; $h ++){ for($m = 0; $m <= $inter; $m+ =$inter){ echo $h . ' : '.$m; } } Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Setembro 24, 2016 use dateinterval Compartilhar este post Link para o post Compartilhar em outros sites
r.guerra 0 Denunciar post Postado Setembro 24, 2016 sem ser orientado não tem uma forma? Ainda não cheguei nesse nivel, kkk Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Setembro 24, 2016 Mais fácil trabalhar com DateTime, segue os EXEMPLOS $add_minutos = 15; $hora = new DateTime('08:00'); $hora->add(new DateInterval('PT' . $add_minutos . 'M')); echo $hora->format('H:i'); //08:15 Mas segue com strtotime $timestamp = strtotime('08:00 + 15 minute'); echo date('H:i:s', $timestamp); //08:15 Agora só montar uma função para fazer o que você quer! Compartilhar este post Link para o post Compartilhar em outros sites
r.guerra 0 Denunciar post Postado Setembro 29, 2016 fala Williams, cara consegui até fazer o script e local, funciona que uma maravilha, mas quando upo para o servidor, não roda. saberia me dizer o que pode ser? uso local o php 5.6 e o do servidor é 5.3, mas já alterei para 5.6 o do servidor tambem e não funciona. Não gera erros. simplismente não printa os horarios. segue o script. $startHour = '2016-09-29 07:30'; $endHour = '2016-09-29 20:00'; $minutes = 30; $aindaPossuiIntervalo = true; $ultimoIntervalo = null; while($aindaPossuiIntervalo){ $time = (is_object($ultimoIntervalo)) ? $ultimoIntervalo : new DateTime($startHour); $time->add(new DateInterval('PT' . $minutes . 'M')); $ultimoIntervalo = $time; print $time->format('H:i'); if(new DateTime($time->format('Y-m-d H:i:s')) >= new DateTime($endHour)){ $aindaPossuiIntervalo = false; } } Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Setembro 29, 2016 Habilite os erros ini_set('display_errors', true); error_reporting(E_ALL); http://php.net/manual/pt_BR/function.error-reporting.php Se tiver usando autoload, coloque \ barra invertida antes das classes nativas new \DateInterval new \DateTime Compartilhar este post Link para o post Compartilhar em outros sites
r.guerra 0 Denunciar post Postado Setembro 29, 2016 habilitando deu o erro: Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for 'BRT/-3.0/no DST' instead' in /home/l2cnetco/public_html/software/conectivos/agenda.php:17 Stack trace: #0 /home/l2cnetco/public_html/software/conectivos/agenda.php(17): DateTime->__construct('2016-09-26 08:0...') #1 {main} thrown in /home/l2cnetco/public_html/software/conectivos/agenda.php on line 17 saberia me dizer o motivo? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 29, 2016 Basta ler o erro: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. Compartilhar este post Link para o post Compartilhar em outros sites
r.guerra 0 Denunciar post Postado Setembro 29, 2016 Sim ESerra, mas pergunto se o problema é programação ou na configuração do servidor, pois o pessoal do datacenter fala que é meu codigo e pelo que vi não é. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 29, 2016 Sim, o problema é o no seu script, a solução inclusive consta no próprio erro. You are *required* to use the date.timezone setting or the date_default_timezone_set() function Compartilhar este post Link para o post Compartilhar em outros sites
corneliowiedemann 2 Denunciar post Postado Setembro 29, 2016 brow, todos aqui t ajudando na solução adiciona a hora default que voce precisa creio q esse sistema como é para consultorio aqui do br coloca o gmt relacionado a região bjs Compartilhar este post Link para o post Compartilhar em outros sites
r.guerra 0 Denunciar post Postado Outubro 3, 2016 Valeu galera! como sempre o forum todo sendo prestativo! Resolvi assim: Na minha index adicionei o seguinte comando no inicial. Visto que no arquivo php.ini não poderia mexer. if( ! ini_get('date.timezone') ) { date_default_timezone_set('America/Sao_Paulo'); } Compartilhar este post Link para o post Compartilhar em outros sites