Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Saudações desenvolvedores,
Estou precisando da ajuda de vocês em uma questão:
Tenho uma pagina onde dentro de um laço while gero a consulta ao banco, mostrando um resultado por linha, sendo que em uma das colunas preciso que seja atualizada a cada 10 minutos apenas a coluna.
Ja tentei com Ajax, mas aí atualiza apenas o primeiro resultado do while.
Não posso dar refresh em toda a pagina pois tenho um MODAL que as vezes é chamado e se der refresh em toda a página perco as informações do modal.
Alguém me daria uma dica de como fazer?
a parte do código a qual me refiro é esta aqui:
<!-- Inicio Modal -->
<div class="modal fade" id="myModalcad" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" style="width: 1500px; margin: 0 auto; height: 100%;" role="document">
<!-- botao Cadastrar -->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title text-center" id="myModalLabel">Cadastrar Receita</h4>
</div>
<!-- botao Cadastrar -->
<div class="modal-body " >
<form method="POST" action="processa.php" enctype="multipart/form-data">
<div class="form-group">
<label for="recipient-name" class="control-label">Nome:</label>
<input name="nome" type="text" class="form-control">
</div>
<!--nao e do alterar -->
<div class="form-group">
<label for="message-text" class="control-label">ConsultaXXXXX:</label>
<textarea style="width:100%;height:630px" name="detalhes" class="form-control"></textarea>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-success">Cadastrar</button>
</div>
</form>
</div>
<!-- botao Cadastrar -->
</div>
</div>
</div>
<!-- Fim Modal -->
<!-- botao Cadastrar -->
<? while($colunas_prontuario = mysqli_fetch_assoc($preenche))
{
$Descricao=['Descricao'];
?>
<div id="lista">
<!-- TABELA -->
<div class="row">
<div class="col-lg-12">
<table class="table table-striped" >
<thead>
<tr>
<th>Hora</th>
<th>Dra</th>
<th>CodPac</th>
<th>Paciente</th>
<th>Convenio</th>
<th>Contato</th>
<th>Alergico</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
<?php
while($rows_cursos = mysqli_fetch_assoc($resultado_cursos))
{
?>
<tr>
<td><?php echo $rows_cursos['hora'];?></td>
<td><?php echo $rows_cursos['nomden'];?></td>
<td><?php echo $rows_cursos['codpac']; ?></td>
<td><?php echo $rows_cursos['nompac'];?></td>
<td><?php echo $rows_cursos['nomefantasia'];?></td>
<td><?php echo $rows_cursos['celpac'];?></td>
<td><?php echo $rows_cursos['alergias'];?></td>
<td><?php echo $rows_cursos['status_a'];?></td>Oi @Paullo_h Obrigado por tentar ajudar.
Pois eh, o grande problema e eu estar mostrando o conteúdo do WHILE em um Modal quando clico em editar. Caso eu use a lógica de refresh o while se refaz mas desfaz o Modal, o que eu preciso é bloquear a atualização caso modal esteja sendo exibido, e quando sair do modal a pagina dê o refresh.
Atualmente já funciona se eu clico o salvar do modal, mas acontece frequente de não se salvar o modal, aí sem refresh não atualiza.
Então resumindo, se coloco o refresh apago o modal.
Posso não colocar o refresh mas só atualiza ao entrar no modal e salvar qualquer registro.
Colocando o refresh e a tela do modal aberta por tempo maior que o refresh perco o que está digitado no modal.
Verdadeiramente preciso atualizar apenas uma coluna que é a que mostra que a pessoa já chegou, a coluna "status_a".
Olá Cleudiney, minha primeira contribuição aqui no fórum, vamos lá kk espero ajudar.
Depois que sua página é renderizada você não tem mais sua estrutura WHILE e sim a tabela literal. Sendo assim você terá que atualizar o DOM de sua página de alguma forma. Como você já chegou a usar AJAX, presumo que seja mais fácil abordar o assunto por meio dele.
Digamos que você faça um requisição AJAX e retorne um JSON com todos os dados que devem ser atualizados (?): Se este for o cenário você pode iterar via Javascript cada linha de sua tabela, atingir a coluna em questão trocando obviamente seu conteúdo.
Desculpe se não entendi a questão, forneça mais informações. Mas acredito que para seu problema você encontrará o caminho em soluções front-end e não no PHP em sí.