Ir para conteúdo

POWERED BY:

Arquivado

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

miutinhu

[Resolvido] Consulta por Data

Recommended Posts

Gostaria de conseguir consultar por data;

o campo data chama

Inf_Terc_Data

aqui es

tá meu codigo;

 

$con = mysql_connect("localhost", "root", "root"); //logando no banco de dados
   mysql_select_db("Bd_Apariciofer", $con); //Conectando no banco de dados escolhido

$test= $_SESSION[Teste];
$sql="SELECT * FROM tbl_inf_terc WHERE Inf_Terc_Forn='$test'";

$resultado=mysql_query($sql) or die(mysql_error());
while($dados = mysql_fetch_array($resultado)) {
echo 'Nota Fiscal - '.$dados['Inf_Terc_NNota'].' / ';
echo 'Material - '.$dados['Inf_Terc_Material'].' / ';
echo 'Nome Fornecedor - '.$dados['Inf_Terc_Forn'].'<br>';
}

 

estava tentando seguir um tutorial

e ficou assim;

 

 

$data_inicial = $_POST ["data_inicial"];
$data_final = $_POST ["data_final"];

$sq = "SELECT Inf_Terc_material,COUNT (*) inf_terc_material
from tbl_inf_terc
WHERE inf_terc_data BETWEEN '$data_inicial' AND '$data_final' ORDER BY data ASC";

$result = @mysql_query($sq);

Mas ficou meio nada a ver;

não sei como prosseguir;

procurei alguns tutoriais não achei

se não estiverem com tempo de ajudar, ao menos me indiquem um tutorial; bom

 

 

 

o que o sistema vai fazer

 

 

usuario logou;

ele só vai poder consultar as coisas cadastradas em seu nome

ai ele poderá consultar por data

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todas as datas (a armazenada no banco e as usadas na comparação com BETWEEN) devem estar no foramato AAAA-MM-DD ou AAAA-MM-DD HH:MM:SS... Caso contrário você vai precisar converter valores para conseguir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, estão no formato

aaaa-mm-dd

 

 

mas não funciona mesmo eu pesquisando a data desse jeito;

aparece todos os registros e não só da data a data

Compartilhar este post


Link para o post
Compartilhar em outros sites

$leo= $_SESSION[Teste];
$data_inicial = $_POST ["data_inicial"];
$data_final = $_POST ["data_final"];

$sq = "SELECT Inf_Terc_material,COUNT (*) inf_terc_material
from tbl_inf_terc
WHERE inf_terc_data BETWEEN '$data_inicial' AND '$data_final' ORDER BY data ASC";

$result = @mysql_query($sq);





$leo= $_SESSION[Teste];
$sql="SELECT * FROM tbl_inf_terc WHERE Inf_Terc_Forn='$leo'";

$resultado=mysql_query($sql) or die(mysql_error());
while($dados = mysql_fetch_array($resultado)) {
echo 'Nota Fiscal - '.$dados['Inf_Terc_NNota'].' / ';
echo 'Material - '.$dados['Inf_Terc_Material'].' / ';
echo 'Nome Fornecedor - '.$dados['Inf_Terc_Forn'].'<br>';
}

 

 

estou meio confuso, nao consegui pensar em nada pra separar de tal data a tal

Compartilhar este post


Link para o post
Compartilhar em outros sites

$leo= $_SESSION[Teste];
$data_inicial = $_POST ["data_inicial"];
$data_final = $_POST ["data_final"];

$sq = "SELECT Inf_Terc_material,COUNT (*) inf_terc_material
from tbl_inf_terc
WHERE inf_terc_data BETWEEN '$data_inicial' AND '$data_final' ORDER BY data ASC";

$result = @mysql_query($sq);





$leo= $_SESSION[Teste];
$sql="SELECT * FROM tbl_inf_terc WHERE Inf_Terc_Forn='$leo'";

$resultado=mysql_query($sql) or die(mysql_error());
while($dados = mysql_fetch_array($resultado)) {
echo 'Nota Fiscal - '.$dados['Inf_Terc_NNota'].' / ';
echo 'Material - '.$dados['Inf_Terc_Material'].' / ';
echo 'Nome Fornecedor - '.$dados['Inf_Terc_Forn'].'<br>';
}

 

 

estou meio confuso, nao consegui pensar em nada pra separar de tal data a tal

 

Verifique a sql que a variavel $sq está gerando, e tente executar esta sql direto no banco (utilize o phpmyadmin ou outro cliente mysql). Veja se o retorno da query é o que você espera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT Inf_Terc_material,COUNT (*) inf_terc_material from tbl_inf_terc WHERE inf_terc_data BETWEEN '2008-01-01' AND '2008-01-10' ORDER BY data ASC

aparece isso

 

e se eu tento mostrar a $result

não aparece nada;

 

 

desculpem, mas agradeço desde já

vou descansar; fiquem com deus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se pegar esta query que você postou e jogar no cliente mysql (phpmyadmin), retorna os resultados esperados, nenhum resultado ou todos os resultados?

 

Outra coisa, você percebeu que a data inicial e a data final estão iguais? Era para ser assim mesmo?

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT Inf_Terc_material, COUNT( * ) inf_terc_material
FROM tbl_inf_terc
WHERE inf_terc_data
BETWEEN '2008-01-01'
AND '2008-01-01'

Aparece Um registro =/

o primeiro registro da Tabela; e a quantidade de cadastros na tabela;

 

SELECT Inf_Terc_material, COUNT( * ) inf_terc_material
FROM tbl_inf_terc
WHERE inf_terc_data
BETWEEN '2008-01-01'
AND '2008-01-10'

 

Aparece Um registro =/

o primeiro registro da Tabela; e a quantidade de cadastros na tabela;

 

 

 

 

 

 

como assim datas inicial e final estão iguais?!

ps: EU TROQUEI O VALOR DA VARIAVEL POR VALORES MESMO pra testar no sql!

 

 

Peço desculpas gente, sou iniciante, desculpa pelo trabalho mesmo;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse select:

 

SELECT Inf_Terc_material,COUNT (*) inf_terc_material from tbl_inf_terc WHERE inf_terc_data BETWEEN '2008-01-01' AND '2008-01-10' ORDER BY data ASC

 

Quando feito direto no mysql mostra apenas um resultado...

 

Era o esperado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando sugerimos pegar o que tem na $sq, é para dar um echo nela antes de executar. Assim...

 

$sq = "SELECT Inf_Terc_material,COUNT (*) inf_terc_material
from tbl_inf_terc
WHERE inf_terc_data BETWEEN '$data_inicial' AND '$data_final' ORDER BY data ASC";

echo 'Esta é a query $sql'.$sq;
$result = @mysql_query($sq);

 

Pegue o que imprimir na tela e jogue no phpmyadmin.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

já o fiz;

apareceu o primeiro material; e a quantidade de procutos na tabela;

 

 

na verdade eu queria que aparecesse os materiais;

mas, eu conseguindo fazer isso funcionar no PHP, eu tento fazer o restante;

 

 

 

no SQL funciona o que eu quero; mais ou menos =$

mas no PHP não;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você pode ter certeza que o problema está no php se nem sua consulta está certa?

 

Primeiro resolva o problema com a consulta, tendo certeza de que a query está ok, você passa pro PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Codigo no PHP

$sq = "SELECT Inf_Terc_material,COUNT(*) inf_terc_material
from tbl_inf_terc
WHERE inf_terc_data BETWEEN '$data_inicial' AND '$data_final'";

          echo $sq;

Imprimiu isso:

 

SELECT Inf_Terc_material,COUNT(*) inf_terc_material from tbl_inf_terc WHERE inf_terc_data BETWEEN '2008-01-01' AND '2008-01-01'

 

colei no myphpadmin

Apareceu isso

Inf_Terc_material inf_terc_material

asdasd 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

de fato todos os materiais

e nao o MATERIAL e a quantidade de notas

 

 

mas isso eu jogo o loop depois;

so queria que aparecesse no php, pois consigo fazer aparecer no SQL :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT Inf_Terc_material, COUNT( * ) inf_terc_material
FROM tbl_inf_terc
WHERE inf_terc_data
BETWEEN '2008-01-01'
AND '2008-01-01'
LIMIT 0 , 30

 

(as datas digitadas 2008-01-01)

são as que estavam na caixa de texto;

no caso é o comando que o ECHO $SQ

imprimiu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá... só que isto vai exibir exatamente a mesma coisa, sendo no PHP ou no Mysql, porque a query é exatamente igual. A query só vai trazer um resultado diferente se ela for diferente.

 

Para fazer a consulta por data, é exatamente como você está fazendo. Só não entendi o que você quer com o COUNT.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

então pra que eu faça uma consulta de DATA A DATA

eu faria isso

(O CONT estava lá pois vi em um tutorial;

 

$data_inicial = $_POST ["data_inicial"];
$data_final = $_POST ["data_final"];




$sq = "SELECT Inf_Terc_material FROM tbl_inf_terc
WHERE inf_terc_data BETWEEN '$data_inicial' AND '$data_final'";
//echo $sq;
$result=mysql_query($sq) or die(mysql_error());
   //echo $result;
while($dados = mysql_fetch_array($result) {
echo 'Nota Fiscal - '.$dados['Inf_Terc_NNota'].' / ';
echo 'Material - '.$dados['Inf_Terc_Material'].' / ';
echo 'Nome Fornecedor - '.$dados['Inf_Terc_Forn'].'<br>';
}





 

SE FOR ISSO CONTINUA SEM DAR CERTO, não puxa os dados

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.