fmda 0 Denunciar post Postado Dezembro 7, 2013 eu tenho um banco que tem 1200 registros, porém estou precisando retornar a posição que determinado usuario está, mas nao pelo id e sim pelo retorno do where Ou seja, preciso fazer uma query que está ordenado pela maior idade e preciso retornar em qual posição ele está. usuario1 -> 20 anos usuario2 -> 17 anos usuario3 -> 23 anos usuario4 -> 9 anos como fazer a query retornar 2 para o usuario3 ? Compartilhar este post Link para o post Compartilhar em outros sites
Fabiano Abreu 22 Denunciar post Postado Dezembro 7, 2013 Ola fmda, Veja se isso lhe ajuda: set @posicao = 0; select @posicao :=@posicao+1, usuario, idade from <suatabela> Abraços. _ _ Fabiano Abreu Papo SQL Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Fagundes 40 Denunciar post Postado Dezembro 8, 2013 Você pode fazer isso com o while na sua programação. Qual a linguagem que você está utilizando? Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Dezembro 8, 2013 Você pode fazer isso com o while na sua programação. Qual a linguagem que você está utilizando? eu estou usando php Ola fmda, Veja se isso lhe ajuda: set @posicao = 0; select @posicao :=@posicao+1, usuario, idade from <suatabela> Abraços. _ _ Fabiano Abreu Papo SQL testei desta forma deu certo quando utiliza order by. Mas se precisar utilizar where, exemplo abaixo, desta forma sempre retorna 1 e não a posição que ele esta set @posicao = 0;select @posicao :=@posicao+1, usuario, idade from <suatabela> where usuario = 'fmda' Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Fagundes 40 Denunciar post Postado Dezembro 8, 2013 Acho que você não precisa trazer isso no select, vê se desta forma te ajuda: $posicao = 0; while ($row = mysql_fetch_assoc($query)){ $posicao += 1; } Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Dezembro 8, 2013 consegeuir entender com while nao, ve se estou fazendo errado <?php $rsQuery = $db->Execute("SELECT nome FROM usuario"); $pos = $rsQuery->fields["nome"]; $i = 0; while(!$rsNews->EOF){ if($pos != $capturaNome){ $i++; } $rsQuery->MoveNext(); } echo $i; ?> este capturaNome é so pra saber quem ta logado na hora, assim consigo pegar o usuario ativo no momento pra saber a posicao dele Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Fagundes 40 Denunciar post Postado Dezembro 9, 2013 Pelo que você fez ai em cima você pode fazer isso: <?php $rsQuery = $db->Execute("SELECT nome FROM usuario"); $pos = $rsQuery->fields["nome"]; $i = 0; while(!$rsNews->EOF){ echo $pos." ".$i; $i++; $rsQuery->MoveNext(); } ?> Eu não estou conseguindo entender o que você quer fazer, para que você precisa retorna esse número pela ordem que veio no select ? Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Dezembro 10, 2013 é porque precisso demontrar numa pagina a posição que ele se encontra no banco, como se fosse um ranking hoje ele ta no 12º lugar, mas amanha ele pode ta no 5º lugar. por isso precisso retornar a posicao conforme a query Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Fagundes 40 Denunciar post Postado Dezembro 11, 2013 Então é o código que te passei mesmo sendo que a variável $i é a posição do usuário Compartilhar este post Link para o post Compartilhar em outros sites
cage 0 Denunciar post Postado Dezembro 11, 2013 Eae...então é o que o Roberto falou mesmo porém vou tentar contribuir também, segue trecho de um código que criei para exibir alguns lançamentos, eu joguei em uma table, dae a primeira coluna mostra a ordem daquela linha. $ctd=1; while($dados=mysql_fetch_row($exe)){ echo '<tr> <td>'.$ctd .' </td> <td>'.$dados[1] .' </td> <td>'.$dados[10] .' </td> <td>'.$url.' </td> <td>'.$dados[5] .' </td> <td>'.$dados[7] .' </td> <td>'.$dados[6] .' </td> <td class="destacaValorReceita">'.$dados[8] .' </td> <td>'.$dados[11] .' </td>'; $tv += $dados[4]; $tg += $dados[8]; $ctd++; } Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Dezembro 13, 2013 Então é o código que te passei mesmo sendo que a variável $i é a posição do usuário testei desta forma deu certo quando utiliza order by. Mas se precisar utilizar where sempre retorna 1 e não a posição que ele esta Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Fagundes 40 Denunciar post Postado Dezembro 14, 2013 ele vai trazer 1 se tiver só um registro coloca o código que você esta fazendo ai pra eu poder olhar Compartilhar este post Link para o post Compartilhar em outros sites