Ir para conteúdo

POWERED BY:

Arquivado

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

bruno novaes

consulta por mês e ano

Recommended Posts

Amigos,

 

Estou sempre caindo no erro "nao foi possivel realizar a consulta". Alguem poderia me ajudar?

Muito obrigado

 

Abraços,

Bruno

 

<!--      Definindo o ANO       !-->


  <label for="ano_busca"><b>Ano:</b></label>
       <select id="ano_busca" name="ano_busca" style="width:100px">
       <option value=""> </option>


       <?php
       for ( $cont_data = 2007 ; $cont_data <= date ( 'Y' ) ; $cont_data++ ) {
       print '<option value="'. $cont_data .'"' ;


       if ( $_REQUEST['ano_busca'] == date ( 'Y' )) {
       print 'selected="selected"' ;
       }

       print '>'. $cont_data .'</option>'."\n" ;
       }
       ?>

       </select>




<!--      Definindo o MÊS       !-->


         <label for="mes_busca"><b>Mês:</b></label>
         <select id="mes_busca" name="mes_busca" style="width:100px">
         <option value=""></option>
         <option value="01" <?php if($_REQUEST['mes_busca'] == "01"){?>selected<?}?>>Janeiro</option>
         <option value="02" <?php if($_REQUEST['mes_busca'] == "02"){?>selected<?}?>>Fevereiro</option>
         <option value="03" <?php if($_REQUEST['mes_busca'] == "03"){?>selected<?}?>>Março</option>
         <option value="04" <?php if($_REQUEST['mes_busca'] == "04"){?>selected<?}?>>Abril</option>
         <option value="05" <?php if($_REQUEST['mes_busca'] == "05"){?>selected<?}?>>Maio</option>
         <option value="06" <?php if($_REQUEST['mes_busca'] == "06"){?>selected<?}?>>Junho</option>
         <option value="07" <?php if($_REQUEST['mes_busca'] == "07"){?>selected<?}?>>Julho</option>
         <option value="08" <?php if($_REQUEST['mes_busca'] == "08"){?>selected<?}?>>Agosto</option>
         <option value="09" <?php if($_REQUEST['mes_busca'] == "09"){?>selected<?}?>>Setembro</option>
         <option value="10" <?php if($_REQUEST['mes_busca'] == "10"){?>selected<?}?>>Outubro</option>
         <option value="11" <?php if($_REQUEST['mes_busca'] == "11"){?>selected<?}?>>Novembro</option>
         <option value="12" <?php if($_REQUEST['mes_busca'] == "12"){?>selected<?}?>>Dezembro</option>
         </select>


         <input type="submit" value="Ok" > <br>


<?
Cabeçalho da tabela
?>


<!--      Chamando os resultados       !-->


<?php
$data_result = $_REQUEST['ano_busca']."-".$_REQUEST['mes_busca'];
$ano_busca = $_REQUEST['ano_busca'];
$mes_busca = $_REQUEST['mes_busca'];
$ano = $_REQUEST['ano_busca'];
$id = $_SESSION["id"];


    if(isset($ano_busca)){
    if(isset($mes_busca)){
$registros = "SELECT * FROM banco WHERE id = ".$id." AND data like '%".$data_result."%' ORDER BY id";
}
else{
$registros = "SELECT * FROM banco WHERE id = ".$id." AND data like '%".$ano."%' ORDER BY id";
}}


    $resultado_registros = mysql_query($registros) or die ("Não foi possível realizar a consulta.");
    $total_linhas = mysql_num_rows ( $resultado_registros );

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque assim:

$resultado_registros = mysql_query($registros) or die ( mysql_error() );
ai vai te mostrar o motivo

 

dá uma lida aqui:

http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/

 

habilite todas as mensagens de erro. Se não souber resolver, retorne informando exatamente qual erro apareceu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque assim:

$resultado_registros = mysql_query($registros) or die ( mysql_error() );
ai vai te mostrar o motivo

 

dá uma lida aqui:

http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/

 

habilite todas as mensagens de erro. Se não souber resolver, retorne informando exatamente qual erro apareceu.

 

O erro que aparece é Query was empety

Compartilhar este post


Link para o post
Compartilhar em outros sites

$ano_busca não foi definido, está vazio ou não contém um valor que possa ser avaliado como TRUE.

 

Tem certeza que você habilitou as mensagens de erro? Senão receberia um erro dizendo que $registros não está definida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade esta definido, eu que esqueci de colocar.. ehhee <_<

 


<?php
$ano_busca = $_REQUEST['ano_busca'];
$mes_busca = $_REQUEST['mes_busca'];
?>

<!--      Definindo o ANO       !-->

    <label for="ano_busca"><b>Ano:</b></label>
       <select id="ano_busca" name="ano_busca" style="width:100px">
       <option value=""> </option>
.
.
.
.

Compartilhar este post


Link para o post
Compartilhar em outros sites
$query = "SELECT * FROM `BANCO` WHERE `id` = {$_SESSION['id']}";
if(empty(($ano = $_REQUEST['ano_busca']) !== TRUE)
   $query .= " AND `data` LIKE '%{$ano}" . empty(($mes = $_REQUEST['mes_busca']))? "%' ORDER BY `id`" : "-{$mes}%' ORDER BY `id`";

die($query);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta dando erro:

Parse error: syntax error, unexpected '(', expecting T_STRING or T_VARIABLE or '$' in..

 

na linha : if(empty(($ano = $_REQUEST['ano_busca']) !== TRUE)

 

Pensei que fosse o 1º parênteses que não estava fechado, mais mesmo fechando ele continua com o mesmo erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu e minha mania de economizar linhas

$ano = @$_REQUEST['ano_busca'];
$mes = @$_REQUEST['mes_busca'];
$query = "SELECT * FROM `BANCO` WHERE `id` = {$_SESSION['id']}";
if(!empty($ano))
   $query .= " AND `data` LIKE '%{$ano}" . !empty($mes)? "-{$mes}" : '' . '\' ORDER BY `id`';

die($query);

Compartilhar este post


Link para o post
Compartilhar em outros sites

normal..

 

então,

$_SESSION['id']
está vazio.

 

onde você cria essa sessão ? tem um session_start() nessa página, e na que você tenta recuperar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim,

 

Existe um session_strat() para verificar usuário e senha.

 

<?
session_start();
if (!isset($_SESSION['s_login'])) { header('location: index.php'); die; }
?>

 

Tirei o session_start() e o erro continua o mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aquilo que apareceu para você, não é 'um erro', é um debug.

 

você não entendeu ainda ?

 

a variável $_SESSION['id'], está sem valor.

Verifique onde você cria ela, e porque ela está sem valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem teria um exemplo para que eu possa ir seguindo?

 

Obrigado

 

Vou colocar passo a passo o que estou fazendo:

 

1º - Colocando o ano



    <label for="ano_busca"><b>Ano:</b></label>
       <select id="ano_busca" name="ano_busca" style="width:100px">
       <option value=""> </option>

       <?php

       $ano = @$_REQUEST['ano_busca'];
       $mes = @$_REQUEST['mes_busca'];

       for ( $cont_data = 2007 ; $cont_data <= date ( 'Y' ) ; $cont_data++ ) {
       print '<option value="'. $cont_data .'"' ;

       if ( $_REQUEST['ano_busca'] == date ( 'Y' )) {
       print 'selected="selected"' ;
       }

       print '>'. $cont_data .'</option>'."\n" ;
       }
       ?>

       </select>

 

2º - Colocando o mês

 <label for="mes_busca"><b>Mês:</b></label>
         <select id="mes_busca" name="mes_busca" style="width:100px">
         <option value=""></option>
         <option value="01" <?php if($_REQUEST['mes_busca'] == "01"){?>selected<?}?>>Janeiro</option>
         <option value="02" <?php if($_REQUEST['mes_busca'] == "02"){?>selected<?}?>>Fevereiro</option>
         <option value="03" <?php if($_REQUEST['mes_busca'] == "03"){?>selected<?}?>>Março</option>
         <option value="04" <?php if($_REQUEST['mes_busca'] == "04"){?>selected<?}?>>Abril</option>
         <option value="05" <?php if($_REQUEST['mes_busca'] == "05"){?>selected<?}?>>Maio</option>
         <option value="06" <?php if($_REQUEST['mes_busca'] == "06"){?>selected<?}?>>Junho</option>
         <option value="07" <?php if($_REQUEST['mes_busca'] == "07"){?>selected<?}?>>Julho</option>
         <option value="08" <?php if($_REQUEST['mes_busca'] == "08"){?>selected<?}?>>Agosto</option>
         <option value="09" <?php if($_REQUEST['mes_busca'] == "09"){?>selected<?}?>>Setembro</option>
         <option value="10" <?php if($_REQUEST['mes_busca'] == "10"){?>selected<?}?>>Outubro</option>
         <option value="11" <?php if($_REQUEST['mes_busca'] == "11"){?>selected<?}?>>Novembro</option>
         <option value="12" <?php if($_REQUEST['mes_busca'] == "12"){?>selected<?}?>>Dezembro</option>
         </select>

         <input type="submit" value="Ok" >
         <br>  <br>

 

3º - Cabeçalho da tabela

 

4º - definindo as variaveis e definindo periodo a ser mostrado.

$ano = @$_REQUEST['ano_busca'];
$mes = @$_REQUEST['mes_busca'];
$query = "SELECT * FROM `BANCO` WHERE `id` = {$_SESSION['id']}";
if(!empty($ano))
$query .= " AND `data` LIKE '%{$ano}" . !empty($mes)? "-{$mes}" : '' . '\' ORDER BY `id`';

die($query);

 

 

Obs: Quando seleciono o período e clico em Ok, nada acontece, ele não tenta carregar a pagina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais exemplo do que mastigadinho que eu te mostrei?

 

Quando a consulta estiver montada corretamente basta trocar die() por mysql_query()

 

Mais simples que isso impossível!

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.