Jump to content
Fórum Script Brasil
  • 0

Agrupamento de dados com quantidade de colunas


Luis Vagner

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...