Ir para conteúdo
Carlosevi

DUVIDA COM A LOGICA DO MEU SISTEMA (NA PARTE DO BANCO)

Recommended Posts

Ola pessoal. Gostaria de ajuda com a lógica do meu banco, desculpe os erros de Português. Eu gostaria de fazer o seguinte. Tenho a tabela historico_views, eu gostaria de depois de inserir nela os usuarios e as propagandas que eles viram, Fazer de alguma forma (join eu acho) aparecer as propagandas que um certo usuarios não viu:

Ex:  Na tabela historico_views tem o id_user 1 e id_propaganda 1, na tabela de propagandas tem varias outras que o usuario 1 não viu. Não sei se consegui ser claro, mas eu gostaria de mostrar as propagandas que cada usuario não viu.

 

OBRIGADO DÊS DE JÁ 

 

 

MEU BANCO:

 


create database Mineradora;
use Mineradora;


create table Players (
    id_player int not null auto_increment primary key,
    login varchar(100),
    senha varchar(100),
    email varchar(100),
    pontuacao double
    );


create table Dados_salas (
    id_dados_sala int auto_increment primary key,
    nome_sala varchar(100),
    quantidade int,
    ingresso double,
    Data_limite date
    );

create table Salas (
    id_sala int not null auto_increment primary key,
    id_player_fk INT,
    id_dados_sala_fk INT,
    foreign key(id_player_fk) references Players(id_player),
    foreign key(id_dados_sala_fk) references Dados_salas(id_dados_sala)
);

create table Propagandas (
    id_propaganda int not null auto_increment primary key,
    nome_propaganda varchar(100),
    link varchar(100),
    valor double
);

create table Historico_views (
    id_historico int not null auto_increment primary key,
    id_player_fk INT NOT NULL,
    id_propaganda_fk INT NOT NULL,
    foreign key(id_player_fk) references Players(id_player),
    foreign key(id_propaganda_fk) references Propagandas(id_propaganda)
);

create table Comentarios (
    id_comentario int not null auto_increment primary key,
    id_player_fk int,
    Comentario varchar(100),
    foreign key(id_player_fk) references Players(id_player)
);
 

 

Screenshot_1.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por JOSELUISALD
      Bom dia. Em minha aplicação o cliente quer uma cópia de seu sistema localmente e remoto (hospedado). Tem como eu fazer a sincronização dos bancos de dados, para que tudo que seja feito localmente seja inserido automaticamente no banco remoto? Desde já obrigado.
    • Por Caio_Lourençon
      Olá estou desenvolvendo um projeto utilizando a extensão MySQLi, e nisso aproveitando para utilizar algumas funções orientada a objeto! Gostaria de tirar umas dúvidas em relação a listagem de dados, são duas perguntas:   1) Utilizar a função foreach() ao invés de um while() com a função fetch_array() dentro, tem uma listagem mais rápida ou mais lenta? Pois com ambas consigo trazer os dados, No momento estou utilizando a foreach por ser mais rápida de se digitar.
      2) Utilizo muitas listagens de tabelas diferentes na mesma página sempre chamando um novo SELECT, seria melhor criar uma função com um SELECT dentro para eu sempre reutiliza-lá ou não iria mudar muita coisa em questão de desempenho?
       
      Agradeço qualquer informação.
    • Por gersonab
      Procuro uma revenda de hospedagem confiável, ja adianto que uolhost e locaweb estão fora dos planos.
    • Por Jefferson andre
      Ola, estou criando um contador de acessos diario mas nao funciona, a tabela tem o campo data no formato date e o campo contador int(10)
       
      A ideia eh verificar a data e se nao existir incluir na tabela, se existir adicionar ao contador
       
      Parece que o erro esta no formato da data, nem manualmente consigo incluir na tabela via localhost ou na hospedagem da google
       
      Agradeço qualquer ajuda
       
      <?php // fazendo uma conexão com o banco de dados include("conexao.php"); // grava a data atual em uma variavel date_default_timezone_set('America/Sao_Paulo'); $date = date('d-m-Y'); //$sql = "SELECT codigo FROM contador"; $resultado = $arquivo->query("SELECT data,contador FROM contador_diario WHERE data = '$date'"); if (mysqli_num_rows($resultado)== true){ // registro ja existe } else { // resultado nao encontrado entao inserir $sql = "INSERT INTO contador_diario ('data', 'contador') VALUES ('$date', '1')"; if ($arquivo->query($sql) == TRUE) { echo "Data cadastrada com sucesso"; } else { echo "Erro: " . $sql . "<br>" . $arquivo->error; } } // refaz a pesquisa para registrar o contador $resultado = $arquivo->query("SELECT data,contador FROM contador_diario WHERE data = '$date'"); // igualar a array a uma variavel $linha=mysqli_fetch_array($resultado); $cod_2 = $linha["contador"]+1; // lista a variavel //echo "<font face='Arial'><span class='style14'>$cod_2</span></font>"; $sql = "UPDATE contador_diario SET contador=$cod_2"; if ($arquivo->query($sql) === TRUE) { // echo "Alteração efetuada com sucesso"; } else { // echo "Erro alterando o contador de visitas diario" . mysqli_error($arquivo); } // fecha a conexao mysqli_close($arquivo); ?>  
    • Por gersonab
      Tenho este sql que funciona normal:
      <?php $idtor = (int)$_GET['id_tor']; $dia = $_GET['dia']; $sql3 = "SELECT * FROM cantos INNER JOIN campeonato ON id_camp = id_campeonato INNER JOIN torneio ON id_tor = id_torneio WHERE data = :dia AND id_torneio = :idtor ORDER BY cantosfim DESC, pontos DESC, cantos DESC"; $stmt = $pdo->prepare($sql3); $stmt->bindParam(':idtor', $idtor); $stmt->bindParam(':dia', $dia); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { ?> porém este outro não retorna nada, nem erro...
      <?php $idtor = (int)$_GET['id_tor']; $consul = "SELECT id_cantos, id_torneio, id_campeonato, SUM(cantosfim) AS cantfin, SUM(pontos) AS pontfin FROM cantos INNER JOIN campeonato ON id_camp = id_campeonato INNER JOIN torneio ON id_tor = id_torneio WHERE id_tor = :idtor ORDER BY pontfin DESC, cantfin DESC"; $stmt = $pdo->prepare($consul); $stmt->bindValue(':idtor', $idtor); $stmt->execute(); while ($lin = $stmt->fetch(PDO::FETCH_ASSOC)) { ?> não consigo encontrar o erro.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.