Ir para conteúdo
Fórum Script Brasil
  • 0

Status de processo AJAX+PHP


Rhaone

Pergunta

Status de processo AJAX+PHP

Olá pessoal!

Eu tenho uma leitura a uma tabela MySQL e gostaria de mostrar alguns campos enquanto esta tabela está sendo processada, porém a forma que achei para isto, envole numa replicação desta forma no arquivo ".html" fazendo dele um enorme arquivo a medida que avança.

Alguém pode me ensinar uma forma de criar uma função em AJAX onde eu possa trabalhar com estas variáveis em PHP? (se for esta a melhor solução)

Grato.

Parte do script:

while ($cot = mysql_fetch_array ($cotsql, MYSQL_ASSOC)) {

            If ($probar == "Sim") { 
              ob_end_flush ();
              ob_start ();
              echo "
              <div id='probar' style='
                top             : 40px;  
                left            : 457px; 
                position        : absolute; 
                background-color: #000000; 
                color           : " . $cor_letra_amar . "; 
                height          : 13px;
               '>" . $marcal_xx . " " . $ini . " " . $cot ["codneg"] . " " . $cot ["data"] .
             "</div>";
              ob_flush ();
              flush ();
            }

            ...             

          }
Resultado atual:
...
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 AAPL11B 2011-08-25</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 AAPL11B 2011-08-31</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 AAPL11B 2011-09-16</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 AAPL11B 2011-09-20</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-15</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-16</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-17</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-18</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-19</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-22</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-23</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-24</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-25</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-26</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-29</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-30</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-08-31</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-09-01</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-09-02</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-09-05</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-09-06</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-09-08</div>
              <div id="probar" style="top: 40px; left: 457px; position: absolute; background-color: rgb(0, 0, 0); color: rgb(255, 255, 1); height: 13px;">1A 045 ABCB4&nbsp; 2011-09-09</div>
              ...

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
A sua dúvida não ficou muito clara, explica melhor, por favor.

Um abraço.

Estou tentanto mostrar em que ponto da tabela o processo está sendo executado e então eu mostro alguns valores do registro atual da tabela; não envolve tags "form" nem "input"; apenas quero que a cada leitura da tabela estes campos sejam mostrados na tela mas sem "encher" o html;

Eu preciso que apareça num lugar fixo da tela qual registro da tabela está sendo processado pelo script; o que deve aparecer são alguns campos como "codneg" e "data"; mas no meu exemplo usando as tags "<div>" o html cresce demais.

Tentei usar "<DIV>" com "position: absolute" para ser constante num ponto da tela, mas o html vai crescendo demais.

Link para o comentário
Compartilhar em outros sites

  • 0

Da uma olhada nesse exemplo:

http://www.phpavancado.net/node/379

Neste casso, toda vez que o usuário clicar no botão que executa a ação editar, você insere um conteudo dentro da DIV que irá informar ao usuário que algo está acontecendo.

//você escreve dentro da DIV.
$('#loading').html('Editando registro fulano de tal');


// E toda vez que a requisição terminar, você limpa a div.
$().ajaxStop(function() { 
    $('#loading').hide();
    $('#loading').html(''); // limpa a DIV 

});

Editado por Romero Dias
Link para o comentário
Compartilhar em outros sites

  • 0
Da uma olhada nesse exemplo:

http://www.phpavancado.net/node/379

Neste casso, toda vez que o usuário clicar no botão que executa a ação editar, você insere um conteudo dentro da DIV que irá informar ao usuário que algo está acontecendo.

//você escreve dentro da DIV.
$('#loading').html('Editando registro fulano de tal');


// E toda vez que a requisição terminar, você limpa a div.
$().ajaxStop(function() { 
    $('#loading').hide();
    $('#loading').html(''); // limpa a DIV 

});

grato, amigo ... vou testar. um abraco.

Link para o comentário
Compartilhar em outros sites

  • 0

O Romero já postou a dica em AJax, mas vou acompanhar a filosofia ae. Você pode fazer algo tipo assim:

1 - coloque um ID no botão, link, etc, que vai chamar essas informações; exemplo

<a ID="loading" href="buscadados.php?id=xxxx"> </a>
2 - coloque isso no dentro das tag BODY
$(document).ready(function() {
    $("#loading").click(function(event) { //quando a ID = loading for clicada, vai chamar o evento enquanto a requisição é concluida, depois some,
        $("#box").html("<div> <img src='img/loader.gif'/> </br> Aguarde processando... </div>");
    });
});
Obs. eu coloquei uma imagem e texto, mas você pode colocar qualquer coisa, a id=BOX será onde será mostrado o conteúdo requisitado. 3 - Não esqueça de importar a biblioteca do jquery dentro da tag HEAD
<script src="../lib/js/jquery-1.6.2.min.js" type="text/javascript"></script>

Abs.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...