Bobrinha 4 Denunciar post Postado Janeiro 28, 2011 Olá, preciso mais uma vez da ajuda de vc6 preciso criar um script simples porem ele tera q exibir uma mensagem em diferentes horarios e dias da semana e não sei como fazer digamos que segunda feira ao meio dia vai exibir a mensagem oi hoje é segunda 12 horas ai sabado ao meio dia ja seria outra mensagem oi hoje é sabado em difentes horarios e dias Sei que talvez possa usar if e else, mais to perido como criar a logica e fazer a pratica alguem tem um exemplo ou uma meneira facil de me ajudar? obrigado desde já Compartilhar este post Link para o post Compartilhar em outros sites
Hamilcar 1 Denunciar post Postado Janeiro 28, 2011 De onde vão vir as mensagens, como são escolhidos os horários e datas, explica aí melhor. Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Janeiro 28, 2011 Não sei se entendi direito, mas: veja uma boa por onde começar: <? $MSG_Segunda = 'Oi, hoje é segunda'; $MSG_Quinta = 'Oi, hoje é quinta'; $MSG_Sabado = 'Oi, hoje é sábado'; $Dia = date('l'); // retorna o dia da semana (em ingles) // SWITCH - mais rapido que if else para muitas condicoes Switch ($Dia) { // Segunda Case 'Monday': // Codigo pra executar o necesario neste dia ... ex: Echo $MSG_Segunda; // escreve a mensagem Break; // Quinta Case 'Thursday': // Codigo pra executar o necesario neste dia ... ex: Echo $MSG_Quinta; // escreve a mensagem Break; // Sábado Case 'Saturday': // Codigo pra executar o necesario neste dia ... ex: Echo $MSG_Sabado; // escreve a mensagem Break; Default: // Padrão a ser executado se o dia nao é uma condicao do switch, ex: sunday, friday... Echo 'Sem mensagem para este dia'; } ?> Estude date() e Switch. Da pra personalizar as mensagem com hora, intervalo de hora em cada dia e etc... Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 28, 2011 Fiz umas alterações no código do InterPlanet pra ficar mais simples e fácil de entender. Não precisa de um switch pra fazer isso. Veja: <?php // Abaixo uma lista com as mensagens pra cada dia, onde 1 é segunda e 7 é domingo $MSG[1] = 'Oi, hoje é segunda'; $MSG[2] = 'Oi, hoje é terça'; $MSG[3] = 'Oi, hoje é quarta'; $MSG[4] = 'Oi, hoje é quinta'; $MSG[5] = 'Oi, hoje é sexta'; $MSG[6] = 'Oi, hoje é sábado'; $MSG[7] = 'Oi, hoje é domingo'; $dia = date('N'); // retorna o número do dia da semana, entre 1 e 7. //Escreve na tela a mensagem correspondente ao dia echo $MSG[$dia]; ?> Caso a sua versão do PHP seja inferior a 5.1.0, você pode alterar o modo como a data é retornada. Veja mais aqui: http://www.php.net/manual/pt_BR/function.date.php Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Janeiro 29, 2011 Boa parceiro! Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 29, 2011 hum... <?php setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese"); date_default_timezone_set('America/Sao_Paulo'); echo 'Oi, hoje é: '.strftime('%A'); Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 29, 2011 hum... <?php setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese"); date_default_timezone_set('America/Sao_Paulo'); echo 'Oi, hoje é: '.strftime('%A'); Ok cara, mas se ele quiser uma mensagem diferente a cada dia, vai ter que mecher nesse código. Mas foi boa a idéia de setar um timezone e informações locais. Também dá pra fazer isso com JavaScript, mas esse fórum é de PHP. ;) Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Janeiro 29, 2011 Hehehe, cada um no seu quadrado! Essa do setlocale() + strftime não conhecia, preciso estudá-la @Bruno! E concordo com o @jcalebe quando a personalização de mensagens. E ai @Bobrinha? Cade voce? :D Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 29, 2011 É, eu também não conhecia setlocale() e strftime(). Estou estudando-as nesse momento. Vamos esperar uma resposta do autor do tópico. Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Janeiro 29, 2011 Olá pessoal vc6 são de mais porém é o seguinte além do dia preciso de horarios diferentes, tenho q pegar o dia e horas em um variavel onde o texto dessas variavel eu mesmo vo escrever :) tenho muita dificuldade em pesar :( No meu caso o local é teria q ser horario de Brasilia não sei se é o mesmo de SP mais não custa nada dizer ou perguntar... No entanto eu preciso mesmo é de uma x variavel q eu possa escrever em horarios diferentes e em dias diferentes mais ou menos assim... segunda 11horas = oi hoje é segunda de manha to feliz segunda 14horas = oi hoje é a tarde to feliz etc... ai terça tipo 15h = oi hoje é terça ta maior calor terça as 23h = oi hoje é terça já vo dormir domingo por exemplo as 17h = oi hoje é domingo não vou fazer nada etc... qualquer duvida me pergunte, obrigado ... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 29, 2011 usando strftime junto com setlocale você pega o dia da semana em português. usando date() você pega dia e hora aí é só montar os IF's Compartilhar este post Link para o post Compartilhar em outros sites
InterPlanet 7 Denunciar post Postado Janeiro 29, 2011 Opa brother, no caso, creio que a melhor opção seja o Switch dentro de cada dia, faz outro switch com as horas. Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 29, 2011 [...] aí é só montar os IF's Cara, seriam tantos IF e ELSEIF que deixariam qualquer um maluco. Melhor usar switch, como disse o InterPlanet. Mas eu tenho uma solução melhor que switch (este só em último caso): Bobrinha, tente algo assim: <?php //Seta a timezone de Brasília ou SP. @date_default_timezone_set('America/Sao_Paulo'); // Abaixo uma lista com as mensagens pra cada dia, onde 1 é segunda e 7 é domingo $MSG[1] = 'Oi, hoje é segunda'; $MSG[2] = 'Oi, hoje é terça'; $MSG[3] = 'Oi, hoje é quarta'; $MSG[4] = 'Oi, hoje é quinta'; $MSG[5] = 'Oi, hoje é sexta'; $MSG[6] = 'Oi, hoje é sábado'; $MSG[7] = 'Oi, hoje é domingo'; //Agora uma lista com as mensagens a cada hora $MSH[0] = 'bom dia!'; $MSH[1] = 'você não deveria estar dormindo?'; $MSH[2] = 'já são 2h da manhã. O que faz aqui?'; $MSH[3] = 'vaaai dormir!'; $MSH[4] = 'já que estamos aqui, que tal um lanche rápido?'; //Termine de preencher, até chegar no 23. $dia = date('N'); // retorna o número do dia da semana, entre 1 e 7. $hora = date('G'); // retorna a hora, entre 0 e 23. //Escreve na tela a mensagem correspondente ao dia, com o recado da hora. echo $MSG[$dia].', '.$MSH[$hora]; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 29, 2011 Cara, seriam tantos IF e ELSEIF que deixariam qualquer um maluco. Melhor usar switch, como disse o InterPlanet. Mas eu tenho uma solução melhor que switch (este só em último caso): Só modo de dizer. IF ou switch... tudo é estrutura condicional e não deixa de ser convertido em um pseudo-if em linguagem de máquina Lembrando que este script funciona baseado na data/hora do computador do cliente. não. Data/hora do servidor. Hora do cliente pega-se com JavaScript Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 29, 2011 não. Data/hora do servidor. Opa :P :mellow: <_< :ermm: , fiz uma agada! Eu tinha imaginado isso, mas achava que ele pegava a hora do cliente. É, tenho que estudar mais a função date(). O importante é que o código funciona. :joia: E quando eu disse "melhor que switch", quiz dizer que não precisará repetir tantas linhas de código, reduzindo o SEU trabalho. Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Janeiro 29, 2011 jcalebe ali no caso como faço para tipo na $MSH[0] = 'bom dia!'; setar a hora que eu quero a mensagem? digamos hoje é sabado 16h eu coloco uma mensagem e 5horas outra mensagem como fazer? Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 29, 2011 O número entre os colchetes (índice do array) representa as horas, que nesse caso, vai de 0 a 23. Quando for x horas, ele vai exibir a mensagem pré setada para x horas que estiver entre aspas, na frente da hora correspondente. Por exemplo, as 14h, ele vai exibir a mensagem que estiver em $MSH[14] Quando for 15h, ele exibirá a que estiver em $MSH[15] O índice representa a hora. Agora, pra uma mensagem de acordo com o dia e a hora, aí tem que ser algo um pouco mais complexo, e estou com preguiça meio sem idéias agora. :P Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Janeiro 31, 2011 Olá bom dia pessoal tenha todos um otimo inico de semana jcalebe eu precisaria de um script q fizesse isso aqui ou seja pra mostrar de acordo com dia e a hora a mensagem referente a uma programação SEGUNDA A SEXTA 00:00 ÀS 00:15 – ARQUIVO CONFIDENCIAL – CRIS MARQUES 00:15 ÀS 05:00 – MADRUGADA 104 – PC 104 05:00 ÁS 06:00 – ALVORADA SERTANEJA – FLÁVIO SANTOS 06:00 ÀS 07:20 – TOP UNIVERSITÁRIO – HAILTON FREITAS 07:20 ÀS 08:00 – AMANHECER COM CRISTO – ALDETINA SANTOS 08:00 ÀS 11:00 – BOM DIA 104 – FLÁVIO SANTOS 11:00 ÀS 11:40 – BATE BOLA RONCADOR - EQUIPE BATE BOLA 11:40 ÀS 12:00 – JORNAL 104 – FLÁVIO SANTOS 12:00 ÀS 12:30 – MPB – LUCIANA BARBOSA 12:30 ÀS 13:00 – PROGRAMA DA IGREJA (Obs.: Seg., Quarta e Sexta) 13:00 ÀS 14:00 – DEIXA TOCAR – MALU PONTES 14:00 ÀS 16:00 – ADRENALINA – FABIO SPHOR 16:00 ÀS 17:00 – TOP 104 – FABIO SPHOR 17:00 ÀS 18:00 – LIGUE SERTANEJO – FÁBIO SPHOR 18:00 ÀS 19:00 – NAÇÃO SERTANEJA – HAILTON FREITAS 19:00 ÀS 20:00 – VOZ DO BRASIL – VIA SATELITE 20:00 ÀS 22 :00 – CONEXÃO BR – EUDES FIGUEIREDO 22:00 ÀS 00:00 – SONG,S BY NIGHT - JOSE ARAUJO SÁBADO 00:00 ÀS 05:00 – MADRUGADA 104 – PC 104 05:00 ÀS 07:00 – ARENA UNIVERSITÁRIA – FERNANDO MORAES 07:00 ÀS 08:00 – CAFÉ DA MANHA COM O REI – STELA RIBEIRO 08:00 ÀS 11:00 – BOM DIA 104 – FLÁVIO SANTOS 11:00 ÀS 12:00 – O QUARTO PODER – PC JÚNIOR 12:00 ÀS 13:00 – MPB – LUCIANNA BARBOSA 13:00 ÀS 14:00 – SAMBA, SUOR E SWGUI – JUNINHO BILL 14:00 ÀS 16:00 – PROGRAMAS EVANGÉLICOS – IGREJAS 16:00 ÀS 17:00 – PANCADÃO – CECE MUNIZ 17:00 ÀS 18:00 – NAÇÃO SERTANEJA – HAILTON FREITAS 18:00ÀS 19:00 – DEIXA TOCAR - MALU PONTES 19:00 ÀS 20:00 – TOP MUSICAL – EUDES FIGUEIREDO 20:00 ÀS 21:00 – NO STRESS – JUNINHO BILL 21:00 ÀS 22:00 – PLANET PARADE – FERNANDA LIMA 22:00 ÀS 00:00 – DANCE MIX – ALEX HUNT DOMINGO 00:00 ÀS 04:00 – MADRUGADA 104 – PC 104 04:00 ÀS 05:00 – ALVORADA SERTANEJA – FLÁVIO SANTOS 05:00 ÀS 07:00 – NATIVO E SERTANEJO – ANDRESSA MARTINS 07:00 ÀS 09:00 – AMIGOS DO TEODORO E SAMPAIO – TEODORO E SAMPAIO 09:00 ÀS 12:00 – FREQUÊNCIA NATIVA – CERISVALDO BRITO 12:00 ÀS 13:00 – GOSPEL LINE – PC 104 13:00 ÀS 14:00 – SAMBAXÉ – LUCIANA BARBOSA 14:00 ÀS 16:00 – VITAMINA – BANANA 16:00 ÀS 17:00 – DEIXA TOCAR – MALU PONTES 17:00 ÀS 19:00 – TOP SERTANEJO – PC 104 19:00 ÀS 21:00 – GETUP – DOMENICO E LALA MOREIRO 21:00 ÀS 22:00 – ESTRELAS - FERNANDO MORAES 22:00 ÀS 00:00 – NITRO NIGTH – ANA CAROLINA Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 31, 2011 eu precisaria de um script q fizesse isso aqui ou seja pra mostrar de acordo com dia e a hora a mensagem referente a uma programação ai a história é outra. e nesse caso, é melhor que você tenha estes registros num banco de dados. Assim, só precisará buscar a query ordenada, e pronto. Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Janeiro 31, 2011 E como seria a estrutura desse banco de dados? e como pegar o dia e buscar a mensagem referente no db? Nossa to ficando louco com isso, apesar de parecer simples pra mim parece impossivel Compartilhar este post Link para o post Compartilhar em outros sites