Ir para conteúdo

POWERED BY:

Arquivado

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

marcionix

Procuro explicações e exemplos realmente

Recommended Posts

Não tenho muita experiência com javascript e ainda não achei nada que realmente explique os códigos (entendam... no meu ponto de vista um tutorial ou coisa do gênero explica o que está acontecendo ao invés de entregar o peixe, com sripts prontos)E, bem, passei recentemente a tomar conta de uma página de WebRádio (www.plugfm.com) e meu chefe esses dias atrás pediu para que eu fizesse uma página de estatísticas referente a quantas pessoas estariam online escutando a rádio. A página está feita, em PHP e pegando os dados direto do servidores da mesma, ou seja, o objetivo foi concluido, podemos ver exatamente quantas pessoas estão no momento da consulta escutando a rádio em cada um dos players disponíveis (no caso, media player, winamp e realplayer). Mas é preciso dar um refresh para atualizar a pesquisa.O que estou procurando saber é, como posso fazer para atualizar os dados da consulta utilizando o ajax para deixa-la uma consulta em tempo real (ou próxima disso).o que pretendo é algo parecido com o que ha no site www.deviantart.com , o mostrador que mostra quantas imagens há no BD deles e que é atualizado cada vez que um novo arquivo é adicionado, sem dar refresh na página. Como já disse não conheço muito de javasript, não me foi muito útil observar o código fonte da página, espero que alguém tenha paciência para explicar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! Bom, de início vou te falar que vai ser meio complicado mas com o tempo você vai ver que não tem nada de díficil.

 

Primeiros vamos avaliar o que deve ser feito.

 

1- Deveremos criar uma página php separar que fará a consulta de quantas pessoas tem online e tudo o que ela vai fazer é escreve esse valor na página e nada mais... Sem tag <html>, <head> ou <body>. Somente o valor númerico que queremos.

 

2- Teremos que criar alguma coisa que verifique de tempos em tempos quantas pessoas tem. Imagine, uma atualização a cada 3 segundos tá de bom tamanho não? Esta "coisa" irá ler a nossa página criada acima e guardará com ela o valor numerico.

 

Até aqui tudo bem né? =)

 

Então, essa página que pega o valor número eu vou deixar por sua conta. Agora, olha o código da "coisa" que na verdade é uma função JavaScript.

 

/**Essa função irá criar um objeto chamado XMLHTTP. *Ele é o responsável por estabelecer uma conexão com um arquivo de texto e ler este arquivo.*/function xmlhttpInit() {	var req;	try {		req = new ActiveXObject("Microsoft.XMLHTTP");	} catch (e) {		try {			 req = new ActiveXObject("Msxml2.XMLHTTP");		} catch (ex) {			  try {				   req = new XMLHttpRequest();			} catch (exc) {				   alert("Seu browser nao suporta 'XMLHTTP'!");				   req = null;			  }		}	}	return (req);}function qtdeOnline() {  // cria o objeto xmlhttp  var xmlhttp = xmlhttpInit();  // verifica se ele foi criado  if (xmlhttp) {	// abre conexão com sua página que faz a contagem	xmlhttp.open('GET', 'nomeDaSuaPagina.php', true);	// verifica se ouve mudança de estado	xmlhttp.onreadystatechange = function() {	  // verifica se essa mudança é igual a 4 (carregado)	  if (xmlhttp.readyState == 4) {		// verifica se a resposta é uma respota válida ou um erro		if (xmlhttp.status == 200) {		  // Muda o conteúdo da div com o atributo id igual a contador para o valor número recebido		  document.getElementById('contador').innerHTML = 'Temos ' + xmlhttp.responseText + ' pessoas online';		}		// Espera 3 segundos desde a última resposta para verificar novamente		setTimeout('qtdeOnline()',3000);	  }	};	// dá um submit no objeto não passando parametro nenhum	xmlhttp.send(null);  }  // deleta o objeto xmlhttp agora que não é mais necessário  delete xmlhttp;}// ao termicar de carrega a página, inicia o verificadorwindow.onload=qtdeOnline;
Tudo comentado pra você. Espero que entenda fácil =P

Você deverá criar uma div com id contador onde você quer que o valor seja exibido.

t+

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.