Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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;

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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;

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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 :(

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.