lucasbsb Postado Abril 15, 2011 Denunciar Share Postado Abril 15, 2011 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 consulta1º coluna ---- 2ºcoluna ---- 3º colunaMarta ---- Abrir ---- Programa1Marta ---- Abrir ---- Programa2Marta ---- Administrar ---- Programa1Mario ---- Administrar ---- Programa1Mario ---- Administrar ---- Programa2Carla ---- Administrar ---- Programa1Carla ---- Administrar ---- Programa2Isso é 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Portal do Químico Postado Abril 15, 2011 Denunciar Share Postado Abril 15, 2011 Lucas bem vindo,Seguinte, Primeiro de tudo é você criar os campos no banco de dados. Aconselho criar da seguinte maneira:Tabela: atividade_usuarioCampos: usuario_nome , usuario_acao , usuario_atividadeCriada essa tabela você vai inserir os dados e depois mostra-los através de um loop.Tentae, caso não consiga poste a duvida! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Endor Postado Abril 15, 2011 Denunciar Share Postado Abril 15, 2011 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lucasbsb Postado Abril 15, 2011 Autor Denunciar Share Postado Abril 15, 2011 (editado) 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 Abril 20, 2011 por *FIT* Adicionar a tag [code]! *FIT* Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Endor Postado Abril 15, 2011 Denunciar Share Postado Abril 15, 2011 Olá, LucasPrimeiro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Portal do Químico Postado Abril 15, 2011 Denunciar Share Postado Abril 15, 2011 (editado) <?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 Abril 15, 2011 por Portal do Químico Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Portal do Químico Postado Abril 15, 2011 Denunciar Share Postado Abril 15, 2011 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lucasbsb Postado Abril 18, 2011 Autor Denunciar Share Postado Abril 18, 2011 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lucasbsb Postado Abril 19, 2011 Autor Denunciar Share Postado Abril 19, 2011 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
lucasbsb
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
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.