Jump to content
Chronic

Tabela para downloads

Recommended Posts

Eai,

To fazendo um sistema em php de download de produtos digitais, vou explicar resumidamente:

 

1 - Usuário entra no site, logo na index já vai ter alguns produtos para download.

2 - Ele se cadastra e compra o produto.

3 - O produto deve ser listado para ele na seção de "Meus Downloads" em seu perfil.

 

A minha dúvida é, como eu vou fazer para verificar os downloads que esse usuário tem disponíveis no meu banco de dados?

 

Mais especificamente:

Tenho uma tabela para os downloads, nessa tabela eu guardo o id, nome, descrição, versão e link para download.

 

Eu estava pensando em criar uma uma coluna na tabela de usuários, onde listará todos os ids dos downloads que esse usuário possuí, mas isso é possível?

Se não, o que vocês fariam?

Share this post


Link to post
Share on other sites

Algo como nível de acesso? Não sendo o nível de acesso em si, mas semelhante, pois o nível de acesso filtra as permissões do usuário através de colunas, não seria o mesmo?

Share this post


Link to post
Share on other sites
2 horas atrás, Jesse&Francinete disse:

Algo como nível de acesso? Não sendo o nível de acesso em si, mas semelhante, pois o nível de acesso filtra as permissões do usuário através de colunas, não seria o mesmo?

Creio eu que não.

 

Já desenvolvi o sistema de login com níveis de acesso, mas estou quebrando a cabeça para a tabela de downloads.

O que preciso é verificar se um usuário tem a permissão de baixar um arquivo que está nessa tabela.

 

Sei que é somente uma condição, mas gostaria de uma luz na parte lógica de como fazer isso.

Share this post


Link to post
Share on other sites

Na tabela que guarda as informações do login que criou, tem id, senha etc..

Simples basta usar a mesma lógica.

Outra tabela com id do usuário e ao invés do campo "senha" por exemplo terá o ID do item de download.

Mas essa tabela a chave primária não pode ser esses IDs uma vez que um usuário poderá registrar vários downloads.

Basta então que faça um busca na tabela de downloads e faça a busca com relação ao id do usuário, trazendo assim todos das as id de download registradas com esse usuário.

Share this post


Link to post
Share on other sites

A ideia seria

dentro da tabela de produtos para download e saber se o usuário comprou o produto, então viria do retorno do gateway de pagamento e iria para download o link padrão que você deixava, porem, para efetuar o download será necessário uma verificação se o usuário logado que irá efetuar o download tem permissão para efetuar o download então seria...

 

Assim que o retorno da API e verificada como 'PAGO' gera-se o link de download ou seja e inserido um registro de download onde você pode efetuar várias ações tais como, saber qual foi o ultimo IP capturado quando efetuado o download, a ultima data que foi feito o download ou quantos download foram feitos. e vai da ideia e do projeto informado.

Em anexo um pequeno exemplo.

 

project_download.fw.png

  • Obrigado! 1

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

  • Similar Content

    • By andersonseifert
      boa tarde, podem me ajudar em uma logica ?
      tenho um numero exemplo 300 , quero aumentar ele sempre +1 , tipo usuario digitou que precisa de 50 numeros depois dos 300 exemplo : 301,302,303... ate 305.
       O que me recomendam fazer ? um array ou for somando +1 ?
       
       
       

    • By Rafael da Silveira
      Bom dia Pessoal, tudo bem?
      O problema aqui está mais para matematica do que para programação. Mas como sei que aqui só tem fera e pode ser que alguem tenha passado por algo semelhante...

      Tenho um cliente que precisa de uma página, onde ele coloca o valor do produto a vista, e ele joga o valor com as taxas da maquinha de cartão dele...
      A principio é tranquilo, pega o valor, soma taxa, multiplica taxa e pronto...
       
      O problema é que essas taxas são cobradas em cima do valor final, o que depois dos descontos acaba saindo abaixo do valor a vista.
      E ele que receber o valor á vista, deixando para o cliente pagar essa diferença...

      Como resolver essa questão? Alguém poderia me ajudar?
       
    • By unset
      Olá, estou elaborando a lógica para desenvolver um sistema de agendamento em PHP, ele consiste em salvar no banco os horários disponíveis que uma empresa pode funcionar,
       
      Por exemplo, certos dias de semana pode ou não ter horários liberados, assim como certos dias, nesses períodos em cada faixa de horário pode ter diferentes quantidades de clientes que podem fazer um agendamento de acordo com a quantidade do horário.
       
      Por exemplo na empresa 1 = de Segunda a Sexta das 07:00h até as 22:00h tem horário, Sábado e Domingo Fechado
      Por exemplo na empresa 2 = Só atende Sábado e Domingo das 13:00 as 00:00h e é fechado nos outros dias
      Em cada um desses horários tenho que salvar a quantidade de pessoas que podem ser atendidas por exemplo
       
      Empresa 1 =  Segunda 7:00h = 4 vagas
      Empresa 1 = Terça 18:00h = 2 vagas
      Empresa 1 = Sexta 19:00h = 0 vagas - indisponível
       
      Empresa 2 =  Sábado 17:00h = 0 vagas - indisponível
      Empresa 2 = Sábado18:00h = 5 vagas
      Empresa 2 = Domingo 20:00h = 6 vagas
       
      Pensando em uma forma que acho pouco convencional e pouco lógica, criaria um formulário com vários e vários campos de todos os dias da semana com todos os horários disponíveis e quantidades pra ser colocada como na imagem em anexo, e salvaria no formato json no banco assim por exemplo 
       
      Coluna: agendamentoDiasSemanaHorarios
       
      {"1":{"ativo":"0","horarios":{"07:00":7,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"2":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"3":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"4":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"5":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"6":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}},"7":{"ativo":"0","horarios":{"07:00":0,"07:30":0,"08:00":0,"08:30":0,"09:00":0,"09:30":0,"10:00":0,"10:30":0,"11:00":0,"11:30":0,"12:00":0,"12:30":0,"13:00":0,"13:30":0,"14:00":0,"14:30":0,"15:00":0,"15:30":0,"16:00":0,"16:30":0,"17:00":0,"17:30":0,"18:00":0,"18:30":0,"19:00":0,"19:30":0,"20:00":0,"20:30":0,"21:00":0,"21:30":0,"22:00":0,"22:30":0}}}
       
      Então no caso se 1 ativo quer dizer que segunda pode ter horários agendados, aí vem a lista gigante de horários exemplo 07:00 e em seguida a quantidade de pessoas no caso 7
       
      Estou com dificuldade para elaborar uma logica mais simples que funcione, 
       
      Se alguém tiver uma ideia e possa ajudar, uma opinião de como faria, agradeço muito.
       
       

    • By cesaroet
      <?php $variavel = 'teste, teste2, teste 3'; $indice = explode(',', $variavel); foreach ($indice as $indice) { ?> <span>Capítulo</span> <input type="text" name="indice[]" value="<?php echo $indice; ?>" required> <?php } ?> A duvida é o seguinte, como faço para que em "Capitulo" mostre uma sequencia de numeros de acordo com $variavel, exemplo...
      capitulo 1, capitulo 2, capitulo 3...
      Cada 1 com seu valor, ja tentei varias coisas, mas nao estou conseguindo, ajuda por favor
    • By Rluz2019
      Questão A
      Todo conjunto de palavras ou símbolos que exponham um pensamento de sentido completo que seja possível atribuir como valor lógico, ou a verdade ou a falsidade, podem ser classificados como uma proposição. Proposição é um conjunto de palavras ou símbolos que expressam um pensamento de sentido pleno, e são classificadas em simples e compostas. Com base neste contexto, analise as proposições p e q e traduza em sentenças de linguagem corrente.
      p: Fernando é curioso e q: Renato é alegre.
      a) q → p       
      b) p v ~q        
      c) q ↔ ~p
       
      Referências:
      Fundamentos da Matemática para Informática, Faculdade Educacional da Lapa (Org.), 2016. Capítulo 2.
       
       
      A: Fernando é Curioso e q: Renato é alegre.
      a)    Q → P
      b)    P v ~ Q
      c)     Q ↔ ~P
       
      Resposta:
      Que seja possível atribuir como valor lógico, ou a verdade ou a falsidade, podem ser classificados como uma proposição.    
       
      A) Se Renato é Alegre, então Fernando é Curioso.
      B) Fernando é curioso ou Renato não é alegre.
      C) Renato é alegre se é somente se Fernando não for curioso.
       
      Dadas as expressões P e Q do problema podemos escrever:
       
      a) q → p    " Se Renato é alegre, então Fernando é curioso. "
      b) p v ~q   " Fernando é curioso ou Renato não é alegre "
      c) q ↔ ~p “ Renato é alegre se, e somente se Fernando não for curioso. "
       
       
      Em negrito está demarcado cada uma das frases equivalente à construção logica dada:
       
      Vamos analisar em detalhes.
       
      Na letra a), a expressão:
      Q → P
      ·       Proposições associadas a uma condicional - Recíproca da condicional
      Chama-se de proposição condicional ou apenas condicional uma proposição representada por “ se” P “então” Q, cujo valor logico é a Falsidade (F) no caso em que P é verdadeira e Q é falsa e a verdade (V) nos demais casos.
      O Exemplo: "P: Fernando é curioso” e “Q: Renato é Alegre ”
      Se torna "Q→P" e a tabela verdade Proposição Condicional será:
      Fernando é curioso
      Renato é alegre
      Se Renato é Alegre, então Fernando é curioso.
      Q
      P
      Q → P
      V
      V
      V
      V
      F
      V
      F
      V
      V
      F
      F
      F
       
      Se lê como " se P então Q" e é conhecido como uma implicação.
      Representa um fenômeno de causa e consequência.
       
      Na letra b), a expressão:
      P v ~Q
      Contém dois elementos lógicos.
      O conectivo "OU" representado por " V "
      A negação representada por " ~ "
      A primeira leitura que se faz é " P ou não Q ", mas nem sempre a frase "Não Q" está gramaticalmente correta, então as vezes é necessário reescrever como foi feito na letra B.
      Do contrário ficaria “ Fernando é curioso ou não Renato é alegre " e esta frase tem "som estranho".
      Na letra c), A expressão:
      Q ↔ ~P
      Contém dois elementos lógicos.
       O símbolo ↔ representa "se é somente se" e é uma implicação de duas vias. Equivale a (q → p) ^ (p → q) "se q então p e ao mesmo tempo se P então Q".
      Já o sinal " ~ " representa negação de P.
        Comentários
      Comentário: Olá Rodrigo, tudo bem? Sua resposta está correta e completa, parabéns! Continue focado em seus estudos para atingir todos os seus objetivos. Abraços! Prof. 
       
      3,5 de um máximo de 3,5(100%)
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.