Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Me ajudem!! Estou aqui com um probleminha, tenho um BD com as seguintes tabelas baixo, que no caso fazem um relacionamento para gerar a tabela "notas"
Eu preciso imprimir a ficha, porém no uso normal ele sempre me traz a ficha em andamento. Eu queria poder definir pelo campo id_ano para ele trazer a fase que eu preciso com as notas daquele ano.
As très tabela que tenho:
CREATE TABLE IF NOT EXISTS clientes (
id_cliente int(10) NOT NULL AUTO_INCREMENT,
nome varchar(150) NOT NULL,
cargo varchar(150) NOT NULL,
rg varchar(150) NOT NULL,
PRIMARY KEY (id_cliente)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
INSERT INTO `clientes` (`id_cliente`, `nome`, `cargo`, `rg`) VALUES
(1, 'Livia', 'pretendente', '0000000001');
CREATE TABLE IF NOT EXISTS `fases` (
id_fase int(10) NOT NULL AUTO_INCREMENT,
id_ano int(10) NOT NULL,
fase varchar(255) NOT NULL,
PRIMARY KEY (id_fase)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
INSERT INTO `fases` (`id_fase`, `fase`) VALUES
(1, 'FASE 1'),
(2, 'FASE 2'),
(3, 'FASE 3'),
(4, 'FASE 4'),
(5, 'FASE 5');
CREATE TABLE IF NOT EXISTS `anos` (
id_ano int(10) NOT NULL AUTO_INCREMENT,
ano varchar(30) NOT NULL,
PRIMARY KEY (id_ano)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2020 ;
INSERT INTO `anos` (`id_ano`, `ano`) VALUES
(2012, '2012'),
(2013, '2013'),
(2014, '2014'),
(2015, '2015'),
(2016, '2016'),
(2017, '2017'),
(2018, '2018'),
(2019, '2019'),
No relacionamento se cria a tabela notas abaixo
CREATE TABLE IF NOT EXISTS notas (
id_cliente int(10) NOT NULL,
id_fase int(10) NOT NULL,
id_ano int(10) NOT NULL,
id_criterio int(10) NOT NULL,
avalia1 varchar(10) DEFAULT NULL,
avalia2 varchar(10) DEFAULT NULL,
avalia3 varchar(10) DEFAULT NULL,
avalia4 varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `notas` (`id_cliente`, `id_fase`, `id_ano`, `id_criterio`, `avalia1`, `avalia2`, `avalia3`, `avalia4`) VALUES
(1, 1, 2014, 1, '5.00', '6.00', NULL, NULL),
(2, 1, 2014, 1, '6.00', '8.00', NULL, NULL),
(3, 1, 2014, 1, '6.00', '8.00', NULL, NULL),
(1, 2, 2015, 1, '8.00', '3.00', NULL, NULL),
(1, 3, 2016, 1, '5.00', '7.00', NULL, NULL),
(1, 4, 2017, 1, '5.00', '7.00', NULL, NULL),
(1, 5, 2018, 1, '5.00', '7.00', NULL, NULL);
No arquivo está assim:
> <tr><td>
<b>DEPARTAMENTO:</b<?php
$id_fase = mysql_result(mysql_query("SELECT id_fase FROM notas WHERE id_cliente=$_GET[id_cliente]"), 0, id_fase);
echo mysql_result(mysql_query("SELECT fase FROM fases WHERE id_fase=$id_fase"), 0, fase)
?></td></tr>
No primeiro select pego o id da fase, e no echo trago o nome da fase da tabela fases.
Queria saber como nesse primeiro select eu definir nele o ano que quero. 2014, 2016.... da tabela notas Não importa, eu preciso definir isso no select, vai me facilitar. Dessa forma ele vai me trazer os dados que quero do ano certo.
Peço que não me deem outras alternativas fugindo disso, pois só vai me gerar outros trabalhos no código. E no momento isso me ajuda muito.
Carregando comentários...