MrFilipe 0 Posted February 23, 2011 Report Share Posted February 23, 2011 Boas, Gostaria que me ajudassem na criação de uma condição que consiste em validar o dia da semana referente a uma data inserida. Ou seja, como já tinha dito anteriormente estou a fazer um projecto de reserva de salas, e tenho uma tabela que aparece os dias da semana e as horas existentes na escola. O que queria fazer era, em cada dia existe um link, por exemplo na segunda existe uma link que depois de clicar no link, irá introduzir uma data para reservar a sala para determinada data, e queria que conseguisse validar o parâmetro enviado que neste caso é 1 = segunda-feira, e queria que o utilizador ao inserir a data e validasse que realmente essa data corresponde a 1 = segunda-feira. Inicialmente pensei usar o dayodweek, mas não consigo fazer uma validação para tal que funcione. Ajudem-me que isto é bastante importante Obrigado. Abraço. Link to post Share on other sites
socopo 0 Posted February 23, 2011 Report Share Posted February 23, 2011 Olá, Lê e vê se não tem o que precisas. http://php.net/manual/en/function.date.php Pelo que percebi o input será uma data(2011-3-1) e tu queres saber que dia da semana é certo? Se sim: (exemplo do link que passei) // Prints something like: Monday echo date("l"); Acho que também há um parâmetro que faz retornar o dia da semana em inteiro como 1,2,3,4,5,6,7. Procura Alguma duvida é só dizer mas penso que resolves com isso Link to post Share on other sites
MrFilipe 0 Posted February 24, 2011 Author Report Share Posted February 24, 2011 Tipo existe um input onde é colocado a data. E essa função que me indicaste faz isto, por exemplo, foi seleccionado o dia 1(segunda), mas ao colocar no input suponhamos que coloca 24-02-2011, ai terá de aparecer imaginemos uma mensagem a dizer que a data indica nao corresponde a segunda..., ou seja terá de ser 23-02-2011, para corresponder certo, a funcao faz isso? Obrigado. Abraço. Link to post Share on other sites
socopo 0 Posted February 25, 2011 Report Share Posted February 25, 2011 Se visses o link percebias como fazer isso A função date() recebe 2 parâmetros string date ( string $format [, int $timestamp ] ) $format é o formato em que queres o output, o $timestamp é opcional, e é onde passas a data que queres que seja formatada. Caso não passes este parâmetro a função usa como default o time() para ter a data actual. Para passares então a data que queres tens que converter a tua data para timestamp. Para isso podes usar a função strtotime int strtotime ( string $time [, int $now ] ) + em http://www.php.net/manual/en/function.strtotime.php Portanto para saberes que dia da semana é basta: echo date("l", strtotime($data)); Como te tinha dito, há um formato que te devolve o dia em numero em vez de Segunda etc, que pode ser mais fácil de trabalhar. Mas como não foste pesquisar minimamente eu dou-te a papinha echo date("N", strtotime($data)); Já agora, nunca usei mas ao ler novamente os links que te passei descobri que há uma maneira fácilima de saberes a próxima Segunda por exemplo. Não te vou dar a papinha desta vez, apenas citar código dum dos links que pus aqui <?php echo strtotime("now"), "\n"; echo strtotime("10 September 2000"), "\n"; echo strtotime("+1 day"), "\n"; echo strtotime("+1 week"), "\n"; echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; echo strtotime("next Thursday"), "\n"; echo strtotime("last Monday"), "\n"; ?> P.s. Desculpa, reli o teu post e afinal até viste o link 😳 Bom trabalho Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now