4 participantes
Alguma maneira de exibir todos os membros do fórum
waghcwb- Desenvolvedores
- Time Online : 441d 9h 2m 53s
Mensagens : 719
Data de inscrição : 15/07/2013
Localização : Curitiba
- Mensagem nº1
Alguma maneira de exibir todos os membros do fórum
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!
JScript- Administradores
- Time Online : 2d 4h 51m 36s
Mensagens : 1381
Data de inscrição : 29/03/2013
Localização : Somewhere out there
É 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
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
waghcwb- Desenvolvedores
- Time Online : 441d 9h 2m 53s
Mensagens : 719
Data de inscrição : 15/07/2013
Localização : Curitiba
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?
JScript- Administradores
- Time Online : 2d 4h 51m 36s
Mensagens : 1381
Data de inscrição : 29/03/2013
Localização : Somewhere out there
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
JS
waghcwb- Desenvolvedores
- Time Online : 441d 9h 2m 53s
Mensagens : 719
Data de inscrição : 15/07/2013
Localização : Curitiba
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:
Mas não sei como fazer isso que te falei..
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..
Daemon.h- Novato
- Mensagens : 9
Data de inscrição : 06/03/2014
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>
JScript- Administradores
- Time Online : 2d 4h 51m 36s
Mensagens : 1381
Data de inscrição : 29/03/2013
Localização : Somewhere out there
@Daemon.h
Não é isso ai, tem que ser um loop até que nada conste na lista dos membros!
JS
Não é isso ai, tem que ser um loop até que nada conste na lista dos membros!
JS
Daemon.h- Novato
- Mensagens : 9
Data de inscrição : 06/03/2014
[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.
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- Administradores
- Time Online : 2d 4h 51m 36s
Mensagens : 1381
Data de inscrição : 29/03/2013
Localização : Somewhere out there
Bom, abaixo vai um exemplo:
Utilizei o fórum do Daemon.h pois tem "muitos membros"...
Veja o resultado no console com o nome dos membros listados ok?
JS
- 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
waghcwb- Desenvolvedores
- Time Online : 441d 9h 2m 53s
Mensagens : 719
Data de inscrição : 15/07/2013
Localização : Curitiba
- Mensagem nº10
Re: Alguma maneira de exibir todos os membros do fórum
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!
Jack Sparrow- Membro
- Mensagens : 55
Data de inscrição : 07/03/2014
- Mensagem nº11
Re: Alguma maneira de exibir todos os membros do fórum
@JScript, você poderia me explicar essa linha ?
jQuery.ajaxSetup({async:true});
jQuery.ajaxSetup({async:true});
JScript- Administradores
- Time Online : 2d 4h 51m 36s
Mensagens : 1381
Data de inscrição : 29/03/2013
Localização : Somewhere out there
- Mensagem nº12
Re: Alguma maneira de exibir todos os membros do fórum
@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
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
waghcwb- Desenvolvedores
- Time Online : 441d 9h 2m 53s
Mensagens : 719
Data de inscrição : 15/07/2013
Localização : Curitiba
- Mensagem nº13
Re: Alguma maneira de exibir todos os membros do fórum
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:
Usa-se da seguinte maneira:
- Código:
<script async defer src"#"></script>
|
|