Ir ao conteúdo

Geração de tabelas com PHP e MySQL


alexsica

Posts recomendados

Postado

Boa tarde!

Sou iniciante em php e mysql e estou precisando gerar uma tabela com alguns dados do banco.

Todas as tabelas do banco possuem a coluna "ficha".

Quero que, primeiramente, sejam impressas todas as fichas da tabela "processo" e algumas outras colunas. Após, gostariam que fossem impressas informações da tabela "envolvidos", dando continuidade as informações da tabela processo.

Exemplo.

Tabela processo

Ficha -- Processo -- Data

1-------50010------20/09/2012

2-------50300------30/09/2012

3-------10004------07/09/2012

Tabela envolvidos

Ficha---Envolvido

1-------Joao

1-------Pedro

1-------Tiago

2-------Maria

3-------Joana

3-------Fernanda

Eu quero que o php faça uma tabela com os dados organizados da seguinte forma:

Ficha ---- Processo ---- Data --- ---Envolvidos

1 --------50010--------20/09/2012--João; Pedro; Tiago

2---------50300--------30/09/2012--Maria

3---------10004--------07/09/2012--Joana; Fernanda

Alguém pode dar uma mão?? Obrigado!!

  • Moderador
Postado

Olá alexsica,

Isso é realmente simples de fazer, o básico. Na verdade o php não faz nada, quem faz são as consultas corretas e aí sim usar o php para criar mostrar os dados em tela.

Vamos por partes:

a tabela processos provavelmente está relacionada com uma proporção de 1:N com a tabela envolvidos pelo que eu vi. O campo ficha da tabela envolvidos, está referenciando o campo ficha da tabela processos, isso quer dizer que na tabela envolvidos o campo ficha recebe a ID do outro.

Com base nisso primeiro criamos uma consulta que retorna os dados de forma simples:


SELECT processo.Ficha,processo.Processo, processo.Data, envolvidos.Envolvido
FROM processo
INNER JOIN envolvidos
ON envolvidos.Ficha = processo.Ficha

Com a consulta pronta, recomendo que teste primeiro no phpmyadmin mesmo para ver se está retornando os dados corretamente(não se preocupe se "duplicar" o campo processo.. pois vai aparecer para cada linha que contem um envolvido) se estiver, ótimo daí então é só passar para a proxima parte.

Agora com o php, criamos a pagina que vai mostrar os dados como quer:

exibir.php:


<html>
<head>
<title></title>
</head>
<body>
<table>
<tr>
<th>Ficha</th>
<th>Processo</th>
<th>Data</th>
<th>Envolvidos</th>
</tr>
<tr>
<?php

include 'conexao.php';

$consulta = mysql_query("SELECT processo.Ficha,
processo.Processo,
processo.Data,
envolvidos.Envolvido
FROM processo
INNER JOIN envolvidos
ON envolvidos.Ficha = processo.Ficha");


while($dados = mysql_fetch_object($consulta)){

echo "
<td>$dados->Ficha</td>
<td>$dados->Processo</td>
<td>$dados->Data</td>
<td>$dados->Envolvido; </td>

";

}

?>

</body>
</html>

Lembre-se que é essêncial que seu banco esteja com os relacionamentos corretos.

Não sei se funcionará de primeira.. pois fiz de cabeça.. mas teste.. eai qualquer coisa estamos aqui.

abraço

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!