Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite!
Gente estou com um grande problema para resovler e ja pensei, queimei fosfato e nao consegui resolver.
Bom em primeiro lugar eu tenho 6 dezenas que foram sorteadas na mega-sena por exemplo: 06 09 20 22 44 56 essas dezenas estao gravadas no banco de dados mysql ate ate ai tudo bem. Eu tenho em outra tabela varias dezenas que foram geradas aleatoriamente e estao gravadas tabem no banco de dados, ex.:
001 - 54 32 12 43 60 58
002 - 43 23 10 03 09 55
003 - 21 23 31 33 65 54
004 - 06 09 20 22 44 56
e por ai vai ate a linha 50 ou 60 ai depende de quantas dezenas eu fiz, podendo variar.
O que eu preciso fazer eh comparar os numeros sorteados (06 09 20 22 44 56) em cada linha e saber quantos numeros foram sorteados em cada linha, onde cada linha eh um jogo da mega sena ou seja um cartao.
Eai eu me compliquei pois nao sei o que fazer. Ja procurei varias coisas relacionadas em foruns e na net e meu ultimo recurso e contar com a ajuda de voces amigos do forum.
Bom fico aguardando uma luz no fim do tunel.
Obrigado pela atencao de todos.
>
isso é lógica de programação, cada dezena armazenada no banco está em um campo diferente?
se não, você vai ter q separa-lás pelo espaço, executar um loop verificando em arrays se existe alguma dezena igual a que foi sorteada
exemplo:
'supondo que você recebe a sequencia sorteada pela variavel -sorte- e você a preenche com um campo do banco ou não... whatever'
Dim sorte, Jogo
sorte = "06 09 20 22 44 56"
'aqui cria-se um array contendo as dezenas sorteadas, que vão ser separadas pelo espaço'
dezSort = Split(sorte, " ")
'rotina sql'
Set Rs = Conn.Execute("SELECT...")
Do While Not Rs.EOF
'a variavel jogo recebe a aposta do campo do banco de dados, e separa as dezenas em uma array'
Jogo = Split(Rs("Jogo"), " ")
'executa um loop na variavel jogo para verificar se houve acertos'
For iJg = 1 to 6
For iSr = 1 to 6
'se houve um acerto, deixa a dezena marcada como negrito'
If CInt(Jogo(iJg)) = CInt(dezSort(iSr)) Then Jogo(iJg) = "<b>" & Jogo(iJg) & "</b>"
Next
Response.write(Jogo(iJg) & " ")
Next
Response.write("<br>")
rs.MoveNext
Loop
faça o teste
beleza amigo eu as dezenas estao todas em um campo da forma que voce sugeriu daria certo, fiz tudo corretamente porem a pagina me aparece em branco. vou te colar o codigo para que possa ver.
' abre conexao com o banco de dados
Call abre_conexao(conexao)
'pega data atual
data_atual = Date()
'converte para fazer operacoes
atual = CDate(data_atual)
'Captura data de sorteio da mega sena
Set RS_Categoria = Server.CreateObject("ADODB.Recordset")
RS_Categoria.CursorLocation = 3
RS_Categoria.CursorType = 0
RS_Categoria.LockType = 1
RS_Categoria.Open "SELECT * FROM Categorias WHERE codigo_categoria = 1" , Conexao
'data de sorteio do ultimo concurso vinda do banco de dados
data_sorteio = RS_Categoria("sorteio")
' numero do concurso
concurso = RS_Categoria("concurso")
'data_sorteio = "26/03/2010"
'converte para fazer operacoes
sorteio = CDate(data_sorteio)
'compara se a data de sorteio e igual a data atual
if (sorteio = atual) then
'pega as dezenas sorteadas direto do site da caixa economica
pagina = "http://www1.caixa.gov.br/loterias/loterias/megasena/megasena_pesquisa_new.asp"
Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
xmlhttp.Open "GET",pagina, False
xmlhttp.setRequestHeader "ContentType","text/html"
xmlhttp.Send()
codigo = xmlhttp.ResponseText
antes = "<span class=""num_sorteio""><ul>"
depois = "</ul></span>"
codigo = Replace(codigo,antes,"##")
codigo = Replace(codigo,depois,"##")
codigo_ = Replace(codigo,"<li>","")
codigo__ = Replace(codigo_,"</li>"," ")
' variavel onde fica armazenado o ultimo sorteio da mega sena
path = split(codigo__,"##")
'response.write path(1)
'fim funcao dezenas sorteadas'''''''''''
'supondo que você recebe a sequencia sorteada pela variavel -sorte- e você a preenche com um campo do banco ou não... whatever'
Dim sorte, Jogo
sorte = path(1)
'aqui cria-se um array contendo as dezenas sorteadas, que vão ser separadas pelo espaço'
dezSort = Split(sorte, " ")
'rotina sql'
Set Rs = Conexao.Execute("SELECT descricao_produto FROM Produtos WHERE codigo_produto = 15")
Do While Not Rs.EOF
'a variavel jogo recebe a aposta do campo do banco de dados, e separa as dezenas em uma array'
Jogo = Split(Rs("descricao_produto"), " ")
'executa um loop na variavel jogo para verificar se houve acertos'
For iJg = 1 to 6
For iSr = 1 to 6
'se houve um acerto, deixa a dezena marcada como negrito'
If CInt(Jogo(iJg)) = CInt(dezSort(iSr)) Then Jogo(iJg) = "<b>" & Jogo(iJg) & "</b>"
Next
Response.write(Jogo(iJg) & " ")
Next
Response.write("<br>")
Rs.MoveNext
Loop
end if
'Fecha e libera da memória o objeto de Recordset
RS_Categoria.close
Set RS_Categoria = Nothing
isso é lógica de programação, cada dezena armazenada no banco está em um campo diferente?
se não, você vai ter q separa-lás pelo espaço, executar um loop verificando em arrays se existe alguma dezena igual a que foi sorteada
exemplo:
'supondo que você recebe a sequencia sorteada pela variavel -sorte- e você a preenche com um campo do banco ou não... whatever'
Dim sorte, Jogo
sorte = "06 09 20 22 44 56"
'aqui cria-se um array contendo as dezenas sorteadas, que vão ser separadas pelo espaço'
dezSort = Split(sorte, " ")
'rotina sql'
Set Rs = Conn.Execute("SELECT...")
Do While Not Rs.EOF
'a variavel jogo recebe a aposta do campo do banco de dados, e separa as dezenas em uma array'
Jogo = Split(Rs("Jogo"), " ")
'executa um loop na variavel jogo para verificar se houve acertos'
For iJg = 1 to 6
For iSr = 1 to 6
'se houve um acerto, deixa a dezena marcada como negrito'
If CInt(Jogo(iJg)) = CInt(dezSort(iSr)) Then Jogo(iJg) = "<b>" & Jogo(iJg) & "</b>"
Next
Response.write(Jogo(iJg) & " ")
Next
Response.write("<br>")
rs.MoveNext
Loop
faça o teste