miutinhu 0 Denunciar post Postado Julho 22, 2009 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
~TiuTalk~ 7 Denunciar post Postado Julho 22, 2009 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
miutinhu 0 Denunciar post Postado Julho 22, 2009 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
miutinhu 0 Denunciar post Postado Julho 22, 2009 $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
Rafael Izidoro 0 Denunciar post Postado Julho 22, 2009 $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
miutinhu 0 Denunciar post Postado Julho 22, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 22, 2009 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
miutinhu 0 Denunciar post Postado Julho 22, 2009 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
.:: Pegasus ::. 0 Denunciar post Postado Julho 22, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 22, 2009 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
miutinhu 0 Denunciar post Postado Julho 22, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 22, 2009 Faz o que eu falei e posta o que imprimiu. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
.:: Pegasus ::. 0 Denunciar post Postado Julho 22, 2009 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
miutinhu 0 Denunciar post Postado Julho 22, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 22, 2009 O que era para aparecer? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
miutinhu 0 Denunciar post Postado Julho 22, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 22, 2009 pois consigo fazer aparecer no SQL Como você faz no SQL? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
miutinhu 0 Denunciar post Postado Julho 22, 2009 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
Matias Rezende 50 Denunciar post Postado Julho 22, 2009 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
miutinhu 0 Denunciar post Postado Julho 22, 2009 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