Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andreia Regina

Com Select

Recommended Posts

Olá Pessoal!Estou com a seguinte situação:Tenho um calendário escolar que faz busca no banco de dados e exibe os eventos do mês, como existem alunos matriculados em período integral e meio período, para os eventos que contemplam os dois períodos há o valor "ambos".Fiz a select:

$result = mysql_query("SELECT * FROM tb_calendario WHERE ev_periodo='$periodo' AND ev_mes_inicial='$mes' OR ev_mes_final='$mes' ORDER BY ev_periodo,ev_dia_inicial,ev_dia_final ASC") or die (mysql_error());
Porém ele exibe os resultados de todos os períodos, mesmo que o valor de $ev_periodo fosse "integral", o resultado desta query pode ser vista em: http://www.escolapequenoanjo.com.br/diversos/calendario.phpPesquisando acabei utilizando a cláusula HAVING porém agora não aparece conteúdo nenhum e, para o valor integral, deveria aparecer os dias 03 e 10
$result = mysql_query("SELECT * FROM tb_calendario WHERE ev_mes_inicial='$mes' OR ev_mes_final='$mes' HAVING ev_periodo='$ev_periodo' ORDER BY ev_dia_inicial,ev_dia_final ASC") or die (mysql_error());
como pode ser visto em: http://www.sisflex.com.br/projetos/anjo/index.php e com o valor E aproveitando, tem como eu colocar um OR no HAVING ou não?

CREATE TABLE `tb_calendario` (`evento_id` int(10) unsigned zerofill NOT NULL auto_increment,`cat_id` int(10) unsigned zerofill NOT NULL default '0000000000',`evento` varchar(100) NOT NULL default '',`ev_dia_inicial` int(2) NOT NULL default '0',`ev_mes_inicial` int(2) NOT NULL default '0',`ev_ano_inicial` int(4) NOT NULL default '0',`ev_dia_final` int(2) NOT NULL default '0',`ev_mes_final` int(2) NOT NULL default '0',`ev_ano_final` int(4) NOT NULL default '0',`ev_periodo` enum('meio','integral','ambos') NOT NULL default 'ambos',`ev_criacao` datetime NOT NULL default '0000-00-00 00:00:00',`ev_criacao_ope` int(10) NOT NULL default '0',`ev_edicao` datetime NOT NULL default '0000-00-00 00:00:00',`ev_edicao_ope` int(10) NOT NULL default '0',PRIMARY KEY (`evento_id`,`cat_id`),KEY `cat_id` (`cat_id`),CONSTRAINT `cat_id` FOREIGN KEY (`cat_id`) REFERENCES `tb_categorias` (`cat_id`)) TYPE=InnoDB PACK_KEYS=0 COMMENT='Calendário Escolar' AUTO_INCREMENT=4 ;INSERT INTO `tb_calendario` VALUES (0000000001, 0000000001, 'INICIO INTEGRAL', 3, 1, 2007, 3, 1, 2007, 'integral', '2007-01-02 08:45:04', 1, '0000-00-00 00:00:00', 0);INSERT INTO `tb_calendario` VALUES (0000000002, 0000000001, 'INICIO DAS AULAS', 5, 2, 2007, 5, 2, 2007, 'ambos', '2007-01-02 08:45:33', 1, '0000-00-00 00:00:00', 0);INSERT INTO `tb_calendario` VALUES (0000000003, 0000000001, 'TESTE', 10, 1, 2007, 10, 1, 2007, 'integral', '2007-01-02 08:57:05', 1, '0000-00-00 00:00:00', 0);

Agradeço a quem puder me ajudar.-------------RESOLVIDO: não estava pegando o valor da variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem sua primeira dúvida, mas tente explicar melhorm, talvez passar alguns dados, etc.

 

No having é pra funcionar se você fizer

 

HAVING ev_periodo='$ev_periodo' OR bla bla blaou entaoHAVING (ev_periodo='$ev_periodo' OR bla bla bla)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.