Definir determinado campo de uma tabela para select

06/05/2016

0

PHP

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

Livia Sampaio

Responder

Posts

06/05/2016

Livia Sampaio

Ninguém??
Responder

07/05/2016

Raylan Zibel

Voce quer que essa consulta

"SELECT id_fase FROM notas WHERE id_cliente=".$_GET["id_cliente"]

fique assim

"SELECT id_fase FROM notas WHERE (id_cliente=".$_GET["id_cliente"].") and (id_ano=".$_GET[id_ano].")"

ou assim

"SELECT id_fase FROM notas WHERE (id_cliente=".$_GET["id_cliente"].") and (id_ano=".date("Y").")"

?
Responder

07/05/2016

Livia Sampaio

Do seu modo eu não definiria o ano certo que quero, mas já resolvi..

Acrescentei a linha AND id_ano= 2014 , agora ele puxa exatamente o campo e não pelo id, ali defino o ano que quero

Mas obrigada.

<?php
$id_fase = mysql_result(mysql_query("SELECT id_fase FROM notas WHERE id_cliente=$_GET[id_cliente] AND id_ano= 2014"), 0, id_fase);
echo mysql_result(mysql_query("SELECT fase FROM fases WHERE id_fase=$id_fase"), 0, fase)
?>
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar