Jump to content
MrFilipe

Criação de uma condição

Recommended Posts

MrFilipe

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  :P

Obrigado.


Abraço.

Share this post


Link to post
Share on other sites
socopo

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 :P

Alguma duvida é só dizer mas penso que resolves com isso

Share this post


Link to post
Share on other sites
MrFilipe

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.

Share this post


Link to post
Share on other sites
socopo

Se visses o link percebias como fazer isso  :thumbsup:

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.