Jump to content
d10s

Dúvida - Criar select para uma tabela em PHP

Recommended Posts

d10s

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

Share this post


Link to post
Share on other sites
HappyHippyHippo

por outras palavras :

que SQL tenho de usar para ignorar o M em MVC e fazer com que o SQL me dê tudo de uma acentada ? certo ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
d10s

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;

Share this post


Link to post
Share on other sites
HappyHippyHippo

prontos, agora é teres no teu controlador os pedidos ao modelos de dados para depois combinar a informação.

já tens alguma coisa feita ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
d10s

mas eu tenho isso tudo a funcionar, até tenho a solução, o problema é que não pretendo essa solução porque quero os select's às tabelas e depois sim filtrar o que necessito.

 

 

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

×
×
  • 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.