Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola senhores,tenho um projeto meu de um jogo somente texto feito em php+ajax, bom o code ta quase terminado, mas eu tenho uma duvida e nao sei se aqui eh o melhor lugar para posta-la, se for em forum errado por favor algum admin transfira ele...eh o seguinte, tem a parte de status de cada jogador, mas eu queria que a cada alteracao no status ex: foi atacado perdeu 10 coins e 10 hp, aparecesse em tempo real. Estou querendo usar ajax para isso, mas tenho uma duvida, como poderia fazer para o ajax ficar pesquisando a todo momento por uma alteracao (como o gmail funciona, a cada novo email que chega ele ja adiciona um direto, sem reload) e se o mysql suportaria multiplas consultas por segundo ou se teria que usar um sgbd mais robusto...Obs: Num sei se expliquei direito, e acho que minha duvida eh mais com relacao a javascript e ajax do que php... =/[]sLuis
Eu fiz um script que verificava ateracao via ajax e aleterava por innerHtml o conteudo da div e deixei em um while, o que fez o brownser ficar muito lento num dos pcs que eu tenho em casa (pIII 500) e depois eu testei com muitos navegadores abertos nesse pc e num outro que estava em rede apontando pro mesmo host e começou a dar pal no mysql... agora eu nao sei se migro tudo pra um outro bd, se refaço o code, ou sei la...Obs: a cada 5 seg pode ser meio fatal pro andamento do jogo, pq um usuario novo com pouco hp pode morrer nesse tempo se for atacado por um outro usuario e ele nao for notificado e tentar fugir ou revidar... sei la o que eu faco heheeh[]s e vlw
uahauh vish cara...poe 1 segundo entaun.....
entao cara pq eu tenho um script em Ajax que verifica no bd alteração...e para mim funcionou normalmente,
tenta nesse seu (pIII 500) esse script que eu tenho
index.html
<html><script language="javascript" type="text/javascript" src="script.js"></script><h1> PAGINA ATUALIZADA SEM REFRESH </H1><hr><br><div id="news"></div></html>
news.php
<?phpinclude("cybermanager/conecta.php");$sql = mysql_query("SELECT * FROM e_idtmp ORDER BY id DESC");while ($res = mysql_fetch_array($sql)) { echo "<h1>".$res['hora']."<br>";}?>
script.js
var req;function loadXMLDoc(url){req = null;// Procura por um objeto nativo (Mozilla/Safari)if (window.XMLHttpRequest) {req = new XMLHttpRequest();req.onreadystatechange = processReqChange;req.open("GET", url, true);req.send(null);// Procura por uma versão ActiveX (IE)}else if (window.ActiveXObject) {req = new ActiveXObject("Microsoft.XMLHTTP");if (req) {req.onreadystatechange = processReqChange;req.open("GET", url, true);req.send();}}}function processReqChange(){// apenas quando o estado for "completado"if (req.readyState == 4) {// apenas se o servidor retornar "OK"if (req.status == 200) {// procura pela div id="news" e insere o conteudo// retornado nela, como texto HTMLdocument.getElementById('news').innerHTML = req.responseText;} else {alert("Houve um problema ao obter os dados:\n" + req.statusText);}}}function buscarNoticias(){loadXMLDoc("news.php");}// Recarrega a cada 60000 milissegundo (60 segundos)setInterval("buscarNoticias()", 10);Ola,eu nao estou em casa pra testar, estou no trabalho mas em uma maquina nao muito boa, e aqui seu exemplo funciona bem melhor que o meu. Muitissimo obrigado pela ajuda, acho que vou implementar algo parecido com seu codigo no meu game, fica frio que vai ter uma sitacao sobre o autor no code ehehe...vlw mesmo.[]sLuis
Esse código do Ajax não é meu....e agora não lembro de onte tirei, só fiz algumas alterações nele então nem precisa cara...mas e ai já pode passar o link desse jogo pra testar? hehe
hehe ainda nao, se voce visse ele como esta hoje, iria desanimar, nao foi criada a parte grafica, soh tem umas divs e tabelas mal posicionadas hehehe.. puro html, estou esperando entrar de ferias da facul pro meu amigo ajudar no grafico, assim que ficar prontinho eu posto tudo aqui.. heheh[]sLuis
hehe ahh entaun fmz!tb estou esperando as férias pra fazer alguns projetos heheflws Boa sorte
teria algum problema para você fazer um Script que a cada 5 segundos verifique no bd por alguma alteração??? se fosse poucos usuários não vejo problema....