Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Giullyanny

listar dados por data

Recommended Posts

Boa tarde pessoal,

 

Preciso saber uma coisa...

 

tenho essa query abaixo...

$sQuery = "SELECT * FROM chamados WHERE MONTH(data_fecha) = '$mes_atual' ";

Como perceberam com essa, eu busco na tabela chamados todos os campos dados inseridos no mes corrente...

 

bom, mas é quase isso q eu quero: nesta mesma tabela tem um campo chamado status q podem ser inseridos valores tais como "Aberto", "Em Andamento" e "fechado"... O codigo original no meu sistema somente lista os dados da tabela chamado por order crescente... o q eu quero é listar todos os chamados Abertos e fechados independente da data e os fechados listar somente as do mês atual...

 

Fiquei sem ideia, agora preciso de ajuda... Agradeço a todos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi seu problema, mas notei uma pequena falha no seu SQL...

 

deve filtrar pelo ano atual tb, caso contrário trará registros deste mês porém do ano passado, afinal 09/2010 é o mesmo mês que 09/2009.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia a todos!

 

Obrigado pelo comentário, na minha variavel $mes_atual = date("m"), você acha q isso dá problema... Poderia me dizer o qual seria a melhor forma...

 

E outra já qnum entendeu, tenho uma tabela q tem o nome de chamados... nela tem um campo chamado 'status' somente três dados diferentes q são:

Aberto, Em Andamento e Fechado... Certo? Vou colocar a tabela:

CREATE TABLE chamados (
	id int(11) NOT NULL auto_increment,
	data_abertura date,
	data_fecha date default '0000-00-00',
	hora_abertura varchar(5),
	hora_fecha varchar(5),
	nome varchar(60),
	endereco varchar(70),
	fone varchar(12),
	email varchar(60),
	dados_produto varchar(60),
	num_serie varchar(60),
	codigo varchar(15),
	descricao text,
	solucao text,
	obs text,
	status varchar(12),
	local_coleta varchar(20),
	tecnico varchar(50),
	user_resp varchar(60),
	local_autorizada varchar(60),
	PRIMARY KEY (id)
);

como viram essa é mina tabela q quero listar...

 

E a query é a mesma

$mes_atual = date("m")
$sQuery = "SELECT * FROM chamados WHERE MONTH(data_fecha) = '$mes_atual' ";

comecei isso dai, até agora está funcionando corretamente, num deu erro e exibe tudo do mes atual...

 

Mas o q eu quero realmente é: selecionar tudo da tabela chamados onde no campo status como 'Aberto' e 'Em Andamento' e somente os fechados do mes atual...

 

Como o meu codigo so seleciona tudo q foi inserido no mes abertos, em andamento e fechados não tem discriminação... Preciso de ajuda para isso acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia a todos!

 

Obrigado pelo comentário, na minha variavel $mes_atual = date("m"), você acha q isso dá problema... Poderia me dizer o qual seria a melhor forma...

 

E outra já qnum entendeu, tenho uma tabela q tem o nome de chamados... nela tem um campo chamado 'status' somente três dados diferentes q são:

Aberto, Em Andamento e Fechado... Certo? Vou colocar a tabela:

CREATE TABLE chamados (
	id int(11) NOT NULL auto_increment,
	data_abertura date,
	data_fecha date default '0000-00-00',
	hora_abertura varchar(5),
	hora_fecha varchar(5),
	nome varchar(60),
	endereco varchar(70),
	fone varchar(12),
	email varchar(60),
	dados_produto varchar(60),
	num_serie varchar(60),
	codigo varchar(15),
	descricao text,
	solucao text,
	obs text,
	status varchar(12),
	local_coleta varchar(20),
	tecnico varchar(50),
	user_resp varchar(60),
	local_autorizada varchar(60),
	PRIMARY KEY (id)
);

como viram essa é mina tabela q quero listar...

 

E a query é a mesma

$mes_atual = date("m")
$sQuery = "SELECT * FROM chamados WHERE MONTH(data_fecha) = '$mes_atual' ";

comecei isso dai, até agora está funcionando corretamente, num deu erro e exibe tudo do mes atual...

 

Mas o q eu quero realmente é: selecionar tudo da tabela chamados onde no campo status como 'Aberto' e 'Em Andamento' e somente os fechados do mes atual...

 

Como o meu codigo so seleciona tudo q foi inserido no mes abertos, em andamento e fechados não tem discriminação... Preciso de ajuda para isso acima...

 

 

 

Olá o que você quer fazer é filtragem de dados, uma vez tive e esse problema e eu consegui resolver com o seguinte codigo.

 

 

 

Inicio:

 

 

 

if(isset($_POST['botao']))// Ação do botão do formulário

{

 

//**************INICIO DA CONSULTA**************************

 

 

$data_inicio_db = '1970-01-01';

$data_fim_db = '2099-12-31';

 

 

//CONVERÇÃO PARA DATA MYSQL - DATA INICIO

if(isset($_POST['data_fecha']))

{

$mes_atual = trim($_POST['data_fecha']);

//FUNÇÃO PARA CONVER O VALOR DA DATA PARA O DB

 

if(strstr($mes_atual ,"/"))

{

$aux1 = explode("/",$mes_atual );

$data_inicio_db = $aux1[2]."-".$aux1[1]."-".$aux1[0];

}

}

 

 

 

 

 

 

 

$status= $_POST['status'];//Dado que é passado por parâmetro enviado pelo form do html

 

 

 

 

$sql = "SELECT * FROM chamados WHERE data_fecha>= '$data_inicio_db' and data_fecha<= '$data_fim_db' ";// Essa consulta irá buscar por intervalo de data

 

$status= $_POST['status'];

if(!empty($status))

{

$sql.=" and status= '$status' ";

}

 

$sql.=" order by data_fecha;";

 

$busca = mysql_query($sql);

if(mysql_num_rows($busca)==0)

{

echo "<script>alert('Nenhum registtro encontrado !')</script>";

echo "<script>window.location.href='#'</script>";

}

else

{

while($linha=mysql_fetch_array($busca))

{

 

 

 

 

}

}

}

 

Espero ter ajudado, ok http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.