Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Tabela Dinamica


lucasbsb

Pergunta

Pessoal,

Sou novo na area e não estou conseguindo estruturar uma tabela do modo que eu quero.

Minha tabela é a seguinte: 3 colunas e linhas ideterminadas, vai depender da minha consulta

1º coluna ---- 2ºcoluna ---- 3º coluna

Marta ---- Abrir ---- Programa1

Marta ---- Abrir ---- Programa2

Marta ---- Administrar ---- Programa1

Mario ---- Administrar ---- Programa1

Mario ---- Administrar ---- Programa2

Carla ---- Administrar ---- Programa1

Carla ---- Administrar ---- Programa2

Isso é o está fazendo a minha consulta, gostaria de mesclar os dados repetidos.

Por exemplo : Primeira linha : Marta; Abrir ; Programa1 e na segunda linha só programa2 em baixo do programa1, por que os outros dados são iguais.

Antes de mais nada já agradeço.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Lucas bem vindo,

Seguinte, Primeiro de tudo é você criar os campos no banco de dados. Aconselho criar da seguinte maneira:

Tabela: atividade_usuario

Campos: usuario_nome , usuario_acao , usuario_atividade

Criada essa tabela você vai inserir os dados e depois mostra-los através de um loop.

Tentae, caso não consiga poste a duvida!

Link para o comentário
Compartilhar em outros sites

  • 0

Boa Noite!

Não vejo sentido nisso.

Mas você pode seguir dois procedimentos:

a) na consulta ter certeza de que os dados da mesma pessoa virão na sequencia.

Isso você pode conseguir através da CLAUSULA ORDER BY.

2) criar, dentro do while que fará esse laço, duas variáveis para a primeira e segunda coluna:

Exemplo:

$coluna1=$resul_dados[coluna1];
$coluna2=$resul_dados[coluna2];
Então na célula (imagino que vá usar uma celula de tabela ou coisa parecida), informe apenas assim:
IF($coluna1==$resul_dados[coluna1]) {PRINT"";}ELSE{PRINT"$resul_dados[coluna1]"; 
$coluna1=$resul_dados[coluna1];}
IF($coluna2==$resul_dados[coluna2]) {PRINT"";}ELSE{PRINT"$resul_dados[coluna2]";
$coluna2= $resul_dados[coluna2];}

Sempre que o laço retornar para efetuar os laçamentos ele vai analisar.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Minhas tabelas já estão formadas vou colocar o meu select:

Porém só estou mostrando:

<td width=" 60" ROWSPAN="1" align="center"><font size="1" face="verdana,Arial, Helvetica, sans-serif"><?= $row[0]?></font></td>
  <td width="300" ROWSPAN="1" align="center"><font size="1" face="verdana,Arial, Helvetica, sans-serif"><?= $row[1]?></font></td>
  <td width="200" ROWSPAN="1" align="center"><font size="1" face="verdana,Arial, Helvetica, sans-serif"><?= $row[2]?></font></td>
  <td width="200" ROWSPAN="1" align="center"><font size="1" face="verdana,Arial, Helvetica, sans-serif"><?= $row[3]?></font></td>

Só que gostaria de fazer de uma maneira mais limpa a minha tabela...

Editado por *FIT*
Adicionar a tag [code]! *FIT*
Link para o comentário
Compartilhar em outros sites

  • 0

Olá, Lucas

Primeiro vamos resolver seu problema com php.

A questão de faazer uma tabela limpa, você pode resolver depois.

Pois você está colocando apenas uma parte do seu código html e então não dá para ter idéia de como limpar.

Mas o importante:

Se minha sugestão funcionou para você ou não.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

<?php 
$conexao_db = @mysql_connect("localhost", "root", "") or die ("Problemas na conexão.");
$consulta = "SELECTusuario.cod_usuario, usuario.nom_usuario, VIW_USUARIO_PERMISSAO_SONY.nom_grupo_permissao, VIW_USUARIO_PERMISSAO_SONY.DES_PERMISSAO_SONY FROM usuario Left join  VIW_USUARIO_PERMISSAO_SONY ON VIW_USUARIO_PERMISSAO_SONY.cod_usuario = usuario.cod_usuario order by usuario.nom_usuario ";
$rs_lista_resultado = mysql_query($consulta, $conexao_db) or die(mysql_error());
$row_rs_lista_resultado = mysql_fetch_assoc($rs_lista_resultado);
$totalRows_rs_lista_resultado = mysql_num_rows($rs_lista_resultado);
?>


<table width="750" border="0" align="center">
    <?php do { ?>
  <tr>
    <td><?php echo $row_rs_lista_resultado['nom_usuario']; ?></td>
    <td><?php echo $row_rs_lista_resultado['nom_grupo_permissao']; ?></td>
    <td><?php echo $row_rs_lista_resultado['DES_PERMISSAO_SONY']; ?></td>
    </tr>
  <?php } while ($row_rs_lista_resultado = mysql_fetch_assoc($rs_lista_resultado)); ?>
</table>

Tenta isso ae amigo!

Editado por Portal do Químico
Link para o comentário
Compartilhar em outros sites

  • 0

Cara, você quer que essa parte toda repita, correto?

Então abra ela com um <? do { ?>

Dessa forma:

<?php do { ?>
<tr>
  <td width=" 60" ROWSPAN="1" align="center"><font size="1" face="verdana,Arial, Helvetica, sans-serif"><?= $row[0]?></font></td>
  <td width="300" ROWSPAN="1" align="center"><font size="1" face="verdana,Arial, Helvetica, sans-serif"><?= $row[1]?></font></td>
  <td width="200" ROWSPAN="1" align="center"><font size="1" face="verdana,Arial, Helvetica, sans-serif"><?= $row[2]?></font></td>
  <td width="200" ROWSPAN="1" align="center"><font size="1" face="verdana,Arial, Helvetica, sans-serif"><?= $row[3]?></font></td>
  </tr>
<?php } while($row = oci_fetch_array($stid,OCI_BOTH)); ?>

Cara, testai se não for isso que você quer... Sorry!

Link para o comentário
Compartilhar em outros sites

  • 0

Não pelo contrario, eu não quero que repita os dados iguais, nesse seu exemplo usando o "do" e o "while" no final dfica a mesma coisa do código postado por mim.

Eu quero, por exemplo, quando o usuário for o mesmo ele só preencha a primeira vez, e continue preenchendo os outros campo e só coloque outro usuário quando for um outro usuário. Por isso também estou usando o código de usuário para ficar mais fácil de fazer essa checagem.

Link para o comentário
Compartilhar em outros sites

  • 0

resolvi o problema:

$usuario_atual = ' ';
$funcionalidade_atual = ' ';
while  ...
if ($usuario_atual != $usuario_da_tabela){
$usuario_atual = $usuario_da_tabela;
$usuario_relatorio = $usuario_da_tabela;
}
else{
$usuario_relatorio = ' ';
}

Se quiser faça o mesmo com a funcionalidade:
if ($funcionalidade_atual != $funcionalidade_da_tabela){
$funcionalidade_atual = $funcionalidade_da_tabela;
$funcionalidade_relatorio = $funcionalidade_da_tabela;
}
else{
$funcionalidade_relatorio = ' ';
}

E depois usei o rowspan por uma variavel e deu certo,

obrigado pelos comentários...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...