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

Agrupamento de dados com quantidade de colunas


Luis Vagner

Pergunta

Olá pessoal!

Eu tenho uma função que monta os dados conforme a quantidade de colunas informada.

Estou com um problemão e não estou conseguindo resolver...

Eu coloquei fixo os títulos das colunas (depois vou acertar para fazer dinamico também) e precisava mostrar os dados em suas suas respectivas colunas, já quebrei a cabeça e não estou conseguindo.

Alguém poderia me dar uma força?

Segue abaixo a tabela com os registros e o código.

TABELA E REGISTROS:

CREATE TABLE IF NOT EXISTS `mov_tratamentos` (
  `ID` bigint(20) NOT NULL AUTO_INCREMENT,
  `IDMOVASSISTIDOS` bigint(20) NOT NULL,
  `IDTRATAMENTOS` bigint(20) NOT NULL,
  `DATA` date NOT NULL,
  `HORA` time NOT NULL,
  `OBSERVACAO` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=42;

--
-- Extraindo dados da tabela `mov_tratamentos`
--

INSERT INTO `mov_tratamentos` (`ID`, `IDMOVASSISTIDOS`, `IDTRATAMENTOS`, `DATA`, `HORA`, `OBSERVACAO`) VALUES
(20, 18, 9, '2011-03-22', '00:00:00', 'dsgdfssgdfg'),
(31, 20, 1, '2011-06-06', '12:06:16', ''),
(18, 12, 2, '2011-03-22', '00:00:00', 'erwretrwet'),
(13, 12, 9, '2011-03-22', '00:00:00', 'TESTE 01'),
(29, 20, 9, '2011-06-06', '12:06:07', ''),
(17, 12, 2, '2011-03-22', '14:03:02', 'erwretrwet TESTE'),
(25, 19, 9, '2011-03-22', '13:03:15', 'fhfgdhfghfghghdgdfgf'),
(30, 20, 9, '2011-06-06', '12:06:12', ''),
(32, 20, 5, '2011-06-06', '13:06:13', ''),
(33, 20, 9, '2011-06-06', '14:06:14', ''),
(34, 20, 9, '2011-06-06', '14:06:25', ''),
(35, 20, 2, '2011-06-06', '14:06:33', ''),
(36, 20, 1, '2011-06-03', '14:06:45', ''),
(37, 20, 9, '2011-06-06', '17:06:42', ''),
(38, 20, 9, '2011-06-07', '09:06:02', ''),
(39, 20, 2, '2011-06-07', '09:06:19', ''),
(40, 20, 8, '2011-06-07', '11:06:44', ''),
(41, 20, 1, '2011-06-08', '08:06:25', '');
CÓDIGO PHP
function GeraColunas($pNumColunas, $pQuery) {
$resultado = mysql_query($pQuery);
echo ("<table width='100%' border='1'>\n");

//Titulos das colunas
echo "<td>TRATAMENTO 1</td>\n";
echo "<td>TRATAMENTO 2</td>\n";
echo "<td>TRATAMENTO 5</td>\n";
echo "<td>TRATAMENTO 8</td>\n";
echo "<td>TRATAMENTO 9</td>\n";

for($i = 0; $i <= mysql_num_rows($resultado); ++$i) {

for ($intCont = 0; $intCont < $pNumColunas; $intCont++) {
$linha = mysql_fetch_array($resultado);
if ($i > $linha) {
if ( $intCont < $pNumColunas-1) echo "</tr>\n";
break;
}

$codigo    = $linha[0];
$texto     = $linha[2];

if ( $intCont == 0 ) echo "<tr>\n";
echo "<td>". $texto ."</td>\n";

if ( $intCont == $pNumColunas-1 ) {
echo "</tr>\n";
} else { $i++; }
}

}
echo ('</table>');
}

?>        
    
    <table cellSpacing=1 cellPadding=0 width="100%" align=center border=0>
    <tr>
    <td>
    <?
    //*********************************************************************
    // GERA A INSTRUÇÃO SQL E CHAMA A FUNÇÃO PARA GERAR AS COLUNAS
    //*********************************************************************

    $sql = "SELECT * FROM mov_tratamentos WHERE IDMOVASSISTIDOS=20 ORDER BY IDTRATAMENTOS";
    GeraColunas(5, $sql)
    ?>
    </td>
    </tr>
    </table>

Obrigado a todos pela atenção e ajuda!

Link para o comentário
Compartilhar em outros sites

1 resposta 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.

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