Jump to content
Fórum Script Brasil
  • 0

Pesquisa Em Bd Mysql


José Ricardo
 Share

Question

Bom, tenho 1 sistema que faz pesquisas de 10 em 10 segundos em um bd MySql através de (echo "<META HTTP-EQUIV='Refresh' CONTENT='10;URL=pagina.php?Codigo=$Codigo&....'>";) e, dentro desta pagina.php, faço a busca no bd através de "SELECT", ou seja, atualizo a pagina a cada 10 segundos fazendo 1 pesquisa no BD MySql até obter a resposta desejada. Existe alguma forma de acessar, digo, buscar essa resposta sem ficar atualizando a pagina desta forma. Algum mecanismo que eu insira/grave a consulta no bd e ao ser preenchida (por outra pessoa/atendente) c/ todos os resultados validos eu possa abrí-la no browser s/ que o mesmo fica atualizando como expliquei acima.

Valeu pela ajuda e 1 grande abraço a todos.

Edited by José Ricardo
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0
Bom cara, creio que para você não ficar atualizando a página toda, o melhor mesmo então seja montar em Ajax.

Assim, com o Ajax, você atualiza apenas a DIV dinâmica, sem sequer o usuário perceber!

Ok, eu vou começar estudar Ajax p/ ficar + interado + você poderia me passar como faço isso p/ eu iniciar testes???

O que utilizo hj é o seguinte:

<? echo "<META HTTP-EQUIV='Refresh' CONTENT='13;URL=resultados.php?CodiCli=$CodiCli'>"; ?>

Se puder ajudar, agradeço muito.

Abraço e t +

José Ricardo R. da Silva

JR InfoCenter Comp. e Serv.

Link to comment
Share on other sites

  • 0

Recomendo mesmo estudar sobre o assunto, é bem útil e interessante.

O AJAX funciona basicamente com a função XMLHttpRequest() do JavaScript.

Bom, para você começar a testar, crie um arquivo chamado ajax.js e insira o seguinte:

function ajaxInit() {
    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("Esse browser não tem recursos para uso do Ajax");
                req = null;
                }
            }
        }
    return req;
    }
function Consulta(){
    ajax1 = ajaxInit();
    if(ajax1){
        ajax1.open("GET", "consulta.php", true);
        ajax1.onreadystatechange = function(){
        var StatusServer = document.getElementById("consulta");
            if(ajax1.readyState == 4){
                if(ajax1.status == 200){
                    var conteudostatus=ajax1.responseText;
                    StatusServer.innerHTML=conteudostatus;
                    }
                else {
                    alert(ajax1.statusText);
                    }
                }
            }
        ajax1.send(null);
        }
    }
Aqui eu tento inicializar o AJAX para cada navegador, e se ele não conseguir, retornará a mensagem de erro. No header da pagina.php você precisa incluir a chamada para o ajax.js, da seguinte maneira:
<script src="conf/ajax.js" language="javascript" type="text/javascript"></script>
No corpo da pagina.php você precisará criar uma div com ID consulta, da seguinte maneira:
<div id="consulta">&nbsp;</div>
Agora crie um arquivo chamado consulta.php com sua consulta MySQL, este arquivo será chamado pelo AJAX. Por final, você precisará chamar a função AJAX que mandará abrir a consulta, e ainda definir de quanto em quanto tempo esta será chamada novamente, isso é puro JavaScript:
<script language="Javascript">
function Atualiza(){
    Consulta();
    setTimeout('Atualiza()',10000);
    }
Atualiza();
</script>

O código é praticamente auto-explicativo, mas se tiver aluma dúvida em relação a ele, creio que o pessoal de JavaScript consiga te guiar.

Como disse lá em cima, isso é só para você testar e ver se é o que você precisa, pois o ideal mesmo é estudar sobre o assunto e criar sua própria maneira de trabalhar com o AJAX.

Essa função ajaxInit() e parte da função Consulta() eu retirei de algum fórum, mas não me lembro qual.

Se alguém for o autor, ou souber quem é o autor, por favor, me dê um toque para que possa colocar os devidos créditos!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...