Ir para conteúdo

POWERED BY:

Arquivado

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

Gilberto Jr

Iniciando a semana na quarta feira

Recommended Posts

Boa tarde Pessoal,

 

Eu fiz um site para um campeonato de futsal, e eu tenho o seguinte select

select status,datajogo,horajogo,(select nome from clubes where id=idclube1 and idedicao='"&edicao&"' ) as mandante,(select escudo25_25 from clubes where id=idclube1 and idedicao='"&edicao&"') as escudomandante,woclube1 as womandate,golclube1 as golsmandante, golclube2 as golsvisitante,woclube2 as wovisitante,(select escudo25_25 from clubes where id=idclube2 and idedicao='"&edicao&"') as escudovisitante,(select nome from clubes where id=idclube2 and idedicao='"&edicao&"') as visitante, (select grupo from grupos where id=jogos.idgrupo) as grupo, (select local from local where id=jogos.idlocal and idedicao='"&edicao&"') as localjogo,(select coruniforme from uniformes where idclube=jogos.idclube1 and id=jogos.iduniformemandante) as uniformemandante,(select coruniforme from uniformes where idclube=jogos.idclube2 and id=jogos.iduniformevisitante) as uniformevisitante from jogos where idedicao='"&edicao&"' order by numerojogo,datajogo,horajogo limit 0,6

 

Eu quero mostrar os jogos no intervalo de uma semana, porem a semana tem que começar na quarta feira.

 

Alguem poderia me da uma dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função Weekday retorna um número entre 1 e 7, que representa o dia da semana. Ele retorna um número inteiro que representa o dia da semana.

 

Não é um argumento obrigatório: -

 

Data: - O argumento data é qualquer expressão de data válida e você pode usar a Data ou Now().

 

Existe um argumento opcional: -

 

FirstDayOfWeek: - O argumento primeirodiadasemana opcional deve apenas usar as constantes ou valores definidos acima na data e constantes de tempo. Neste exemplo, Segunda é definido para ser o primeiro dia da semana. Por conseguinte, torna-se sábado 6.

 

ou use o DATEPART no SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan, boa tarde;

 

Se nao for pedir de mais como eu aplicaria o exemplo acima que neste select:

 

select * from jogos where and (WEEK(datajogo)=WEEK(NOW()))

 

Eu tenho essa funçao abaixo tambem, porem nao sei como aplicar ela no meu select.

 

Function ExibeData(data)
 dia_semana = WeekDay(data)
 Select Case dia_semana
 Case 1 : dia_semana = "Domingo"
 Case 2 : dia_semana = "Segunda-Feira"
 Case 3 : dia_semana = "Terça-Feira"
 Case 4 : dia_semana = "Quarta-Feira"
 Case 5 : dia_semana = "Quinta-Feira"
 Case 6 : dia_semana = "Sexta-Feira"
 Case 7 : dia_semana = "Sábado"
 End Select
End function  

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string SQL

 

select * from jogos where and (WEEK(datajogo)=WEEK(NOW()))

 

para ver o que esta sendo retornado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, desta forma ele retorna os jogos da semana. So que desta forma a semana inicia no Domingo e termina no sabado.

 

O que eu quero alterar o inicio da semana para ele trazer os jogos da semana, so que a semana deve iniciar na quarta-feira e terminar na terça-feira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha este link vai te ajudar bastante

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Xan, valeu pelo link...

Bom infelizmente eu nao cosnegui aplicar o que você passou, mas eu consegui resolver de uma outra forma.

Segue abaixo o script, sei que essa não é a forma mais correta de fazer esse procedimento, mas até que eu consigua fazer de outra forma essa esta me atendendo rsrs.

 

'recupera o dia semana atual, esse numero é inteiro.
data = Weekday(Date)  

if data = 1 then 'domingo
dtI = mask_dataA(Date-4) 'quarta-feira
dtF = mask_dataA(Date+2) 'terça-feira
set rsJogos = conn.execute("select * from jogos where datajogo between '"&dtI&"' and '"&dtF&"'")

elseif data = 2 then 'segunda-feira
dtI = mask_dataA(Date-5) 'quarta-feira
dtF = mask_dataA(Date+1) 'terça-feira
set rsJogos = conn.execute("select * from jogos where datajogo between '"&dtI&"' and '"&dtF&"'")

elseif data = 3 then 'terça-feria
dtI = mask_dataA(Date-6) 'quarta-feira
dtF = mask_dataA(Date+0) 'terça-feira
set rsJogos = conn.execute("select * from jogos where datajogo between '"&dtI&"' and '"&dtF&"'")

elseif data = 4 then 'quarta-feira
dtI = mask_dataA(Date) 'quarta-feira
dtF = mask_dataA(Date+6) 'terça-feria
set rsJogos = conn.execute("select * from jogos where datajogo between '"&dtI&"' and '"&dtF&"'")

elseif data = 5 then 'quinta-feira
dtI = mask_dataA(Date-1) 'quarta-feira
dtF = mask_dataA(Date+5) 'terça-feira
set rsJogos = conn.execute("select * from jogos where datajogo between '"&dtI&"' and '"&dtF&"'")


elseif data = 6 then 'sexta-feira
dtI = mask_dataA(Date-2) 'quarta-feira
dtF = mask_dataA(Date+4) 'terça-feira
set rsJogos = conn.execute("select * from jogos where datajogo between '"&dtI&"' and '"&dtF&"'")

elseif data = 7 then 'sabado
dtI = mask_dataA(Date-3) 'quarta-feira
dtF = mask_dataA(Date+3) 'terça-feira
set rsJogos = conn.execute("select * from jogos where datajogo between '"&dtI&"' and '"&dtF&"'")

end if

 

O problema desse script é que se for pra semana começar com outro dia ex.: segunda, terça, quinta, sexta, sabado.. vai ter que fazer os calculos das diferença de dias...

 

Mas acho que pode ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o DateDiff()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan, a sintax seria essa

DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])

onde seria:

Interval : "ww";

date1 : 01/03/2012;

date2 : 20/03/2012;

firstdayofweek : 4 'o numero 4 representa a quarta-feira no dia da semana;

 

 

Seria esse o caminho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

exemplo:

 

data1 = #15/06/2012# 'Data Definida
data2 = date() 'Pega Data Atual

'Conta a quantidade de dias de diferença entre Data Atual e Data Definida
Ddata = DateDiff("d", data1, data2) 

 

fromDate="31-mar-12 00:00:00"
toDate="31-jun-12 23:59:00"
response.write(DateDiff("yyyy",fromDate,toDate) & "<br />")
response.write(DateDiff("q",fromDate,toDate) & "<br />")
response.write(DateDiff("m",fromDate,toDate) & "<br />")
response.write(DateDiff("y",fromDate,toDate) & "<br />")
response.write(DateDiff("d",fromDate,toDate) & "<br />")
response.write(DateDiff("w",fromDate,toDate) & "<br />")
response.write(DateDiff("h",fromDate,toDate) & "<br />")
response.write(DateDiff("n",fromDate,toDate) & "<br />")
response.write(DateDiff("s",fromDate,toDate) & "<br />")

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.