rogerio_st Postado Dezembro 28, 2006 Denunciar Share Postado Dezembro 28, 2006 Alguém saberia dizer se é possível, e como fazer para carregar uma function PHP no >body onLoad="...ABSRogerio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ikkinet Postado Dezembro 28, 2006 Denunciar Share Postado Dezembro 28, 2006 Na verdade, não é possível.O PHP trabalha somente no servidor, ou seja, quando a página está sendo processada pelo servidor. O servidor não conhece as tags HTML, e por isso as envia ao cliente qu a solicitou. Só reconhece a programação PHP, processando-a e retornando somente sua saída para o cliente. Por isso não vemos, no Exibir código-fonte, o conteúdo PHP.Assim, quem processará as tags HTML é o cliente, o navegador, que já vai receber processado o conteúdo PHP. O javascript é interpretado pelo cliente, por isso é possível chamar suas funções pelo onload, onclick, etc.É aí que entra o AJAX. Você chama uma função javascript normalmente, no onload, ou onclick, etc.. e ele se encarrega de ler o conteúdo de uma outra página (PHP, por exemplo, contendo a função que se deseja.Deu pra entender? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rogerio_st Postado Dezembro 29, 2006 Autor Denunciar Share Postado Dezembro 29, 2006 iKKinet,Na verdade o que eu quero fazer é criar uma função (temporizador) que simule um refresh, mas sem usar as tag's html, quero de 10 em 10 segundos ler um registro e dar um print nas informações, estou fazendo um player (streaming) para uma rádio, e preciso mostrar o nome da música, artista, album, etc...Já pesqusei algumas funções, e as mais próximas que eu encontrei dessa função foram wait e sleep, mesmo assim não são exatamente o que eu queria, se você tiver alguma sugestão seria muito bem vinda.ABSRogerio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tellys Postado Dezembro 29, 2006 Denunciar Share Postado Dezembro 29, 2006 tem que ser ajax!!!! php não rola ai!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ikkinet Postado Dezembro 29, 2006 Denunciar Share Postado Dezembro 29, 2006 Pois é.O que se pode fazer é colocar um temporizador em javascript, mesmo. E a cada intervalo, chamar uma função do xmlhttprequest (ou algo parecido) - o Ajax. E essa função pega o resultado de uma página php que trará as informações solicitadas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rogerio_st Postado Janeiro 3, 2007 Autor Denunciar Share Postado Janeiro 3, 2007 Andei procurando uma função no ajax que faça isso, mas não consegui encontrar nada, não tenho conhecimento suficiente em javascript ou ajax para desenvolver por minha conta, alguém poderia indicar algum site onde eu consiga achar exemplos disso?ABSRogerio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tellys Postado Janeiro 3, 2007 Denunciar Share Postado Janeiro 3, 2007 Apesar de que ...você pode colocar sim... <body onLoad="<?php nome da funcao(algum valor);?>"> mas o que exatamente você quer fazer??? as vezes fazems um ajax pra você...rs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rogerio_st Postado Janeiro 3, 2007 Autor Denunciar Share Postado Janeiro 3, 2007 Tellys,No onLoad eu tentei colocar mais ou menos desse jeito, mas não rodou.O aplicativo é um player de uma rádio onlline (streaming).O que eu preciso é o seguinte: de 10 em 10 segundos ler o ultimo registro de uma tabela e trazer (print/echo) esses dados para a tela, mas não quero e nem devo fazer isso com um refresh, para evitar também aqueles problemas e mensagens de erro tipo "Não foi possível conectar ao BD", o problema maior é que eu tive que usar um monte de div's e iframes, praticamente uma para cada tipo de informação (imagem da capa do disco, próxima música, nome do artista, etc...).Com um refresh para cada iframe eu corro o risco de algum deles não conseguir conectar e quebrar o layout, e não posso colocar tudo numa só página porque o player propriamente tem que ficar tocando direto, logo não posso dar o refresh na página mãe, porque isso iria parar o som e gerar nova bufferização e tal...ABSRogerio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tellys Postado Janeiro 3, 2007 Denunciar Share Postado Janeiro 3, 2007 não.... mas nesses casos ai se for streaming mesmo não precisa disso ñao ue!!!!ah mas... é de execuçao sem servidor né....ai tem que ser js ou ajax mesm...rs eu ate tenho um esqueminha aqui +- isso so que tem que ajustar pra sua razao...rs agora vo pro rango, volto + tarde se você tiver ai agente se fala Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rogerio_st Postado Janeiro 3, 2007 Autor Denunciar Share Postado Janeiro 3, 2007 Tellys,A gente manda um sinal streaming pra um provedor, por não termos banda necessária para mandar direto aos usuários, eles se encarregam de "multiplicar" o streaming.Valeu pela força!ABSRogerio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tellys Postado Janeiro 3, 2007 Denunciar Share Postado Janeiro 3, 2007 Bem vamos por parte:poe isso no head de sua homesão as funçoes js e ajax... //Tellys Castro supertelnet.com - atendimento@supertelnet.com // JavaScript Document // FUNÇÃO RESPONSÁVEL DE CONECTAR A UMA PAGINA EXTERNA NO NOSSO CASO A BUSCA_NOME.PHP // E RETORNAR OS RESULTADOS <scritp> function pesquisa(valor){ /*a var valor é a referencia de pesquisa no db*/ if (valor){ url="busca_nome.php?valor="+valor+"&&db=nome de seu banco de dados&&coluna=nome da coluna"; id_tag="pagina"; ajax(url, id_tag); } } function ajax(url, id_tag){ //alert(nick); //alert(dest); //alert(msg); 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="pagina" e insere o conteudo // retornado nela, como texto HTML document.getElementById(id_tag).innerHTML = req.responseText; } else { alert("Houve um problema ao obter os dados:n" + req.statusText); } } } Voce tera que colocar no body onLoad uma referncia para a pesquisa, o ideal é o id da linha da musica, <body onLoad="pesquisa('"<?php echo $id_da_musica;?>"')"> salva isso como busca_nome.php <?php $db = $_GET['db']; $coluna = $_GET['coluna']; $valor = $_GET['valor']; $erro = $_GET['erro']; if(!empty($_GET["valor"])){ $conexao=mysql_connect("localhost","root"); mysql_select_db("visual"); $sql="SELECT * FROM $db WHERE $coluna LIKE'$valor%'"; // EXECUTA A INSTRUÇÃO SELECT PASSANDO O QUE O USUARIO DIGITOU $resultado=mysql_query($sql) or die (mysql_error()); $linhas=mysql_num_rows($resultado);//VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS if($linhas>0){ while($pegar=mysql_fetch_array($resultado)) echo $pegar['nome'].'<br>'; } else echo $erro; } ?> Agora os dados serao impresso na tag com id pagina coloca assim que da: <div id="pagina" class="bold"></div>cara to com mta coisa pra fazer,.... vê se da certo...acho que sim!!! se não agente volta e resorvet+ :ph34r: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tellys Postado Janeiro 4, 2007 Denunciar Share Postado Janeiro 4, 2007 cara tava olhando aqui, não testei isso ai não!!!!! e acho que so colocar a chamada da funçao no body não vai ser suficiente, pois nesse caso vai fazer a pesquisa somente do primeira musica que carregar, acho... (+ uma vez digo, não testei...) testea ai desse jeito, se não der, teremos que imaginar outro jeito de chamr essa funcão, tipo de tempo em tempo.... acho que vai ser a melhor opção!!!!mas vê desse jeito ai!!!! pois o caminho é +- issovlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rogerio_st Postado Janeiro 4, 2007 Autor Denunciar Share Postado Janeiro 4, 2007 Tellys,É justamente isso, preciso chamar isso de tempo em tempo (a cada 10 seg), mas sem a atuação do usuário, teria que ser automatico, vou dar uma testada no código dou u retorno.ValeuABSRogerioPS.: te mandei uma PM com o endereço do player, se você quiser conferir qual é o problema dá uma olhada, são 6 iframes (no ar / proxima / album / capa / comprar / letra), e tenho que fazr esse tipo de rotina pra cada um!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RafaellLins Postado Fevereiro 14, 2007 Denunciar Share Postado Fevereiro 14, 2007 Cara, se você estiver achando complicado o uso do ajax, você poderia resolver isso com um pequeno script javascript.Ex:index.html-------------------------------------------------------------------------<html> <body bgcolor="#FFFFFF"> <iframe src="pag2.html" width="200" height="200" frameborder="0" scrolling="no"> </body></html>-------------------------------------------------------------------------pag2.html >> seria a sua página em php para pegar o registro-------------------------------------------------------------------------<html> <head> <script language="javascript"> window.setTimeout("window.location.reload()",10000); //tempo em milésimos </script> </head> <body bgcolor="#000000" text="#FFFFFF"> Atualizando em 10 segundos </body></html>-------------------------------------------------------------------------Simples e funcional usando apenas uma linha em javascript, assim você vai usar o script dentro da página que fica no iframe atualizando somente ela.Também poderia usar esse script na página pai dentro do onload.. indicando qual seria o frame a ser atualizado, mais acho que não haveria necessidade para esse caso.espero ter ajudado..! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rogerio_st
Alguém saberia dizer se é possível, e como fazer para carregar uma function PHP no >body onLoad="...
ABS
Rogerio
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.