Jump to content
Fórum Script Brasil
  • 0

Status de processo AJAX+PHP


Rhaone

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 

});

Edited by Romero Dias
Link to comment
Share on other 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 to comment
Share on other 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 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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...