JScript

Programação & Desenvolvimento


Você não está conectado. Conecte-se ou registre-se

Alguma maneira de exibir todos os membros do fórum

4 participantes

Ir para baixo  Mensagem [Página 1 de 1]

waghcwb

waghcwb
Desenvolvedores
Desenvolvedores

Pessoal, preciso saber se tem alguma forma de exibir todos os membros do fórum em uma determinada lista.. Digamos, eu sei que posso usar o $.get para ver os membros de determinada página.. Certo, se meu fórum for um fórum de testes, ta tudo beleza, vai ter no máximo uns 10 membros, mas agora e se o fórum tiver uma lista de milhares de membros? Como posso verificar os membros de todas as páginas, ja que ao chegar a determinado número de membros (acho que é de 15 em 15) os é criada outra página para exibir essa lista de membros.. Alguém sabe como fazer isso? Fico grato pela atenção!

http://wagneraugusto.com.br/

JScript

JScript
Administradores
Administradores

É bem interessante...

Até onde eu vi é que podemos definir o início da lista, exemplo: /memberlist?mode=lastvisit&order=DESC&start=50&username
Perceba o que está em negrito! Agora definir o final da lista, não sei se tem esse parâmetro...

Porém tentar fazer um loop com .ajax para ir de página em página para poder pegar a lista, com certeza na terceira página já vai aparecer o Request Limit...

JS

http://autoitbrasil.com

waghcwb

waghcwb
Desenvolvedores
Desenvolvedores

Sim, essa parte eu já havia notado, estava usando assim "/memberlist?start=15" mas não sei como fazer esse loop que citou.. E sobre o RL, talvez se eu desse um delay entre cada request resolva, não?

http://wagneraugusto.com.br/

JScript

JScript
Administradores
Administradores

O RL ao que me consta é evitado a cada 5 segundos! No caso do memberlist não é por página e sim por start

JS

http://autoitbrasil.com

waghcwb

waghcwb
Desenvolvedores
Desenvolvedores

Não entendi muito bem..
Pelo que notei esse start funciona assim, se eu por /memberlist?start=15 ele inicia a busca a partir da 2ª página (ja que são exibidos apenas 15 usuários por página), no caso se eu por /memberlist?start=30 ele vai para a 3ª página e assim por diante.. Mas não sei como faço para ver se essa determinada página existe, e caso exista mostrar esses nomes em uma lista.. Consegui 'getar' a lista de usuários no console (e na página) da seguinte maneira:
Código:
$(".frm-form .gen").each(function( index ) { console.log( index + ": " + $( this ).text() ); });

Mas não sei como fazer isso que te falei..

http://wagneraugusto.com.br/

Daemon.h

Daemon.h
Novato

Veja esse código, por exemplo:
Código:
<script type="text/javascript">
$(document).ready(function(){
$('#finduser').keyup(function(){
$.ajax({
url:"/memberlist?mode=lastvisit&order=DESC&submit=Ok&username="+$('#finduser').val(),
type:"GET",
success:function(d) {
if($('#finduser').val() == "") {
$('#users').hide();
}
  else {
$('#users').show().html($('.frm-set.clearfix tbody',d).html());
$('.avatar-mini').nextAll().remove();
  }
}
});
});
});
</script>
<input type="text" id="finduser" class="input" size="50" placeholder="Digite..."><br />
  <div id="users" style="display: none;"></div>
Ele irá faz uma busca por determinados usuários utilizando ajax. Pode me dizer o que está tentando fazer pra que eu tente fazer algo melhor? ^^

JScript

JScript
Administradores
Administradores

@Daemon.h

Não é isso ai, tem que ser um loop até que nada conste na lista dos membros!

JS

http://autoitbrasil.com

Daemon.h

Daemon.h
Novato

[quote=JScript]@Daemon.h

Não é isso ai, tem que ser um loop até que nada conste na lista dos membros!

JS[/quote] Só não estou entendendo a necessidade de todos os membros em uma página.



Última edição por Daemon.h em Qui 20 Mar 2014, 12:09 pm, editado 2 vez(es)

JScript

JScript
Administradores
Administradores

Bom, abaixo vai um exemplo:

Código:

var count = 0;
var URL = 'http://bestskins.com.br/memberlist?mode=username&order&start=' + count + '&username';
var endList = {};

// Importante: Terá que definir o sincronismo no modo de "espera"...
jQuery.ajaxSetup({async:false});

do
    {
    jQuery.get(URL, function(data) {
        endList = jQuery('tbody', data);
        console.log( jQuery('tbody tr td.tcl span', data).text() + '\n' );
    });
    count += 50; // O incremento é de 50 em 50!!!
    URL = 'http://bestskins.com.br/memberlist?mode=username&order&start=' + count + '&username';
    }
while ( jQuery(endList).length > 0 );

jQuery.ajaxSetup({async:true});

Utilizei o fórum do Daemon.h pois tem "muitos membros"...

Veja o resultado no console com o nome dos membros listados ok?

JS

http://autoitbrasil.com

waghcwb

waghcwb
Desenvolvedores
Desenvolvedores

Fiz o teste e funcionou bem amigo!! Em breve, assim que sobrar um tempo (a escola está me matando kk) eu irei fazer um código com isso.. Obrigado!

http://wagneraugusto.com.br/

Jack Sparrow

Jack Sparrow
Membro
Membro

@JScript, você poderia me explicar essa linha ?
jQuery.ajaxSetup({async:true});

http://www.monsterhunterbrasil.com

JScript

JScript
Administradores
Administradores

@Jack Sparrow

Olá, isso é a forma de deixar a execução do script em modo assíncrono, que significa algo como "não esperar uma função terminar para prosseguir com o restante!

JS

http://autoitbrasil.com

waghcwb

waghcwb
Desenvolvedores
Desenvolvedores

Aproveitando isso que o JScript citou, li em algum lugar que você carregando seus scripts de forma assíncrona, ganha-se bastante no desempenho da página! E também é possível usar em conjunto com outro atributo, que é o defer.. Algum de vocês ja fez o teste?
Usa-se da seguinte maneira:
Código:
<script async defer src"#"></script>
( Sim, sem o type="text/javascript", li também que no HTML5 não é mais necessário o uso disso Very Happy)

http://wagneraugusto.com.br/

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos