Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta não ordena


JonasFloripa

Pergunta

Olá pessoal...

Estou fazendo uma consulta é não está ordenando,

SELECT sum(hora2) as temphora2 FROM totalhoras where UPPER(login) like UPPER('".$login."') and MONTH(data)='".$mes_atual."' order by temphora2 asc

é uma consulta para retornar o total de horas extras feitas pelos funcionarios no mês atual, retorna a soma de cada um funcionario, essa soma eu coloco em um temporario, "temphora2", e estou querendo ordenar por essa variavel temporaria, mas não ordena.

alguém sabe me dizer se tem algo errado?

Obrigado

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

Boa Tarde, Jonas!

Uma Sugestão:

Tenta assim:

$extra = "SELECT sum(hora2) as temphora2 FROM totalhoras where UPPER(login) like UPPER('".$login."') and MONTH(data)='$mes_atual' order by temphora2 asc";

Verifique se o fechamento está tudo certo, ou seja:

mysql_query();

mysql_fetch_array();

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Boa Tarde, Jonas!

Uma Sugestão:

Tenta assim:

$extra = "SELECT sum(hora2) as temphora2 FROM totalhoras where UPPER(login) like UPPER('".$login."') and MONTH(data)='$mes_atual' order by temphora2 asc";

Verifique se o fechamento está tudo certo, ou seja:

mysql_query();

mysql_fetch_array();

Abraços

Boa tarde Endor...

Está fechando certo, reparei que a consulta que você colocou é igual a minha só altera no mes_atual que você tira os pontos. Mas sua consulta tb funcionou, mas ainda não ordena...

Obrigado gara, se você tiver alguma alternativa posta ai que vou tentar por aqui.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Esse campo tempohora2.

O que tem nele? o tempo que funcionário trabalhou?

Ae galera, obrigado pela atenção de vocês, show de bola...

Vou tentar explicar como funciona,

Estou desenvolvendo um sistema para controle de horas extra. Cada turno trabalhado pelo funcionário eu entro no sistema e cadastro a quantidade de hora extra que ele fez.

Durante o mês eu preciso consultar as horas de todos os funcionários fizeram.

Sendo assim, criei uma lista consultando pelo login dos usuários a soma total de hora extras que cada um fez no mês. Essa consulta está dentro de um vetor.

SELECT sum(hora2) as temphora2 FROM totalhoras where UPPER(login) like UPPER('".$login."') and MONTH(data)='$mes_atual' order by temphora2 asc

Na consulta funciona assim:

sum(hora2) as temphora2 -> o sum faz a soma da horas extras existente em hora2(campo do banco) e concatena em temphora2. temphora2 tem a soma total de cada funcionario fez no mês

O problema que preciso ordenar do maior para o menor essas horas da minha lista, que seria pela variável temphora2, e não ordena. eu acho que teria que ser por ela por está concatenando a soma.

Espero ter tirado as dúvidas. :)

Qualquer dúvida, vocês postem ai que na segunda eu coloco uma imagem da lista como está retornando.

Galera, obrigadão pela atenção ai de vocês.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Essa query está dentro de uma var certo? E você está usando aspas simples ou duplas?Poste a linha toda

Olha galera, essa é programação que faz o trabalho que estou querendo..

O primeiro select é consultando os funcionario que iram fazer hora extra.

o segundo select ele vai na tabela totalhora e me traz a soma total das horas extras do funcionario de acordo com o select anterior.

<?php
        $query = "select login from candidatos where idescala=$idescala";
?>
<fieldset>
    <legend class="quote">Resultado(s)</legend>

<table bgcolor="#EDE177"  width="350" border="0" cellspacing="1" cellpadding="1">
    <tr>
        <td width="40%" align="left" class="quote"><B>Nome</B></td>                
        <td width="30%" align="center" class="quote"><B>Horas 100%</B></td>    
        <td width="30%" align="center" class="quote"><B>Mês ant.</B></td>        
    </tr> 
</table>

<table width="350" border="0" cellspacing="1" cellpadding="1">
<?php
    $resultado = $obj->executaQuery($query);
    while ( $linha = mysql_fetch_array($resultado) )
    {        
        $login = $linha['login'];
        
       $queryO = "select (SELECT sum(hora2) FROM totalhoras where UPPER(login) like UPPER('$login') and MONTH(data)='".$mes_atual."')as temphora2 order by temphora2 desc";
        $resultadoO = $obj->executaQuery($queryO);
        while ( $linhaO = mysql_fetch_array($resultadoO) )
        {    
?>
    <tr bgColor="#FFFFFF" onMouseOver="bgColor='#cccccc'" onMouseOut="bgColor='#FFFFFF'">
        <td width="40%" align="left" class="quote"><? echo $linha['login']; ?></td>        
        <td width="30%" class="quote" bgcolor="white" align="center"><? echo $linhaO['temphora2']; ?></td>
    </tr>
<?php
        }
    }
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Porque a query0 está assim?

queryO = "select (SELECT sum(hora2) FROM totalhoras where UPPER(login) like UPPER('$login') and MONTH(data)='".$mes_atual."')as temphora2 order by temphora2 desc";
O correto não seria:
queryO = "SELECT sum(hora2) FROM totalhoras where UPPER(login) like UPPER('$login') and MONTH(data)='".$mes_atual."')as temphora2 order by temphora2 desc";

Link para o comentário
Compartilhar em outros sites

  • 0
Porque a query0 está assim?
queryO = "select (SELECT sum(hora2) FROM totalhoras where UPPER(login) like UPPER('$login') and MONTH(data)='".$mes_atual."')as temphora2 order by temphora2 desc";
O correto não seria:
queryO = "SELECT sum(hora2) FROM totalhoras where UPPER(login) like UPPER('$login') and MONTH(data)='".$mes_atual."')as temphora2 order by temphora2 desc";
Dae vini_look.. tentei da forma que você falou mas nem retorna os dados..
$queryO = "(SELECT sum(hora2) as temphora2 FROM totalhoras where UPPER(login) like UPPER('".$login."') and MONTH(data)='".$mes_atual."') order by temphora2 desc

SELECT sum(hora2) as temphora2 FROM totalhoras where UPPER(login) like UPPER('".$login."') and MONTH(data)='".$mes_atual."') order by temphora2 des

já tentei tb dessas duas formas mas não ordena..

Obrigado ai, vou tentar mais aqui, mas não desisto..hehehe

Link para o comentário
Compartilhar em outros sites

  • 0

Posta um print-screen de como está vindo os dados... talvez dê uma iluminada!

edit: tente esta consulta:

$query0 = "SELECT sum(hora2) as temphora2 FROM totalhoras
            WHERE
                login ILIKE '$login' AND
                MONTH(data) = '$mes_atual'
            ORDER BY temphora2 DESC
";

Editado por Stoma
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...