Jump to content

Dúvida - Criar select para uma tabela em PHP


d10s

Recommended Posts

Estou com problemas ao criar o select para posteriormente usar numa tabela.

As tabelas SQL obrigatórias são as seguintes:

“Aluno” (**PK:** id, numero, nome),

“Area” (**PK:** id, nome),

“UC” (**PK:** id, nome, **FK:** id_area)

“Classificacao” ( **PK:** id, **FK:** id_uc, **FK:** id_aluno, nota )

GwxC0.png

Objectivo é criar uma tabela em php (mvc) da seguinte forma:

  1. Coluna - Nº aluno
  2. Coluna - Nome do aluno
  3. Coluna - Nº disciplinas do aluno na área 1
  4. Coluna - Nº disciplinas do aluno na área 2
  5. Coluna - Se soma disciplinas for maior ou igual que 6 "Sim" (Admitido)

Com as entidades e relações que existem entre as tabelas, que select tenho de fazer ao SQLpara preencher a tabela?

Actualmente tenho o esqueleto MVC e select da tabela classificação

function getClassificacao()
{
    $classificacao = array();

    $db=new db();
    $con=$db->connect();

    $sql_query = "SELECT * FROM classificacao";
    $result = $con->query($sql_query);

    $i = 0;
    while($row = mysqli_fetch_array($result))
    {
        $classificacao[$i]["id"] = $row["id"];
        $classificacao[$i]["id_uc"] = $row["id_uc"];
        $classificacao[$i]["id_aluno"] = $row["id_aluno"];
        $classificacao[$i]["nota"] = $row["nota"];
        $i++;
    }
    return $classificacao;
}

 

Edited by d10s
Link to post
Share on other sites

Pois, o objectivo é fazer vários select's e a junção dar a tabela final.

Eu tive uma solução de um amigo, mas acho complexa e está feita apenas num select, o que não pode ser, existe uma class para cada tabela.

 

SELECT aluno.nome AS 'Nome Aluno', aluno.numero AS 'Numero Aluno', area.nome AS 'Área', COUNT(area.id) AS 'Disciplinas da Área' FROM aluno INNER JOIN classificacao ON aluno.id = classificacao.id_aluno INNER JOIN uc on classificacao.id_uc = uc.id INNER JOIN area ON uc.id_area = area.id WHERE aluno.id = 1 GROUP BY area.id, aluno.nome;

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.