Jump to content
Cleudiney T Brandão

Criar DIV que atualize coluna <td> dentro do while

Recommended Posts

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">&times;</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>

 

Share this post


Link to post
Share on other sites

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í.

Share this post


Link to post
Share on other sites

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".

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By kaayasinho
      Boa tarde Pessoal tudo bom?
      Durante um tempo eu fui estudante de programação, para web. E esse forum me foi muito util pois aprendi muitas coisas, e tirei muitas duvidas com todos os participantes. Por outro lado não segui a carreira de programado pois tive outras oportunidades.
       
      Em fim, estou com um projeto de criar uma plataforma online para eventos, e estou tentando montar um time chegar nesse objetivo. Por hora ainda estou tentando juntando a equipe necessária para isso acontecer.
       
      Pela pouca experiência que tive na programação, sei que fazer essa plataforma é bem complexa principalmente com as necessidades que vamos englobar, porém o mercado esta escasso de plataformas flexíveis, no sentido de oferecer algumas ferramentas básicas na comunicação. apesar de ja existir algumas plataformas no mercado.
       
      Resumo:
      1-) Procuro por programadores backend com experiência (não sei exatamente informar a linguagem) mas chuto que Java, Javascript e PHP sejam fundamentais. (sei que abusaremos muito do AJAX)
       
      2-) Programador FrontEnd, com experiência. E que tenha principalmente em boas praticas, pois código sujo cheio de plugins tornará a plataforma pesada, e cheia de bugs.
       
      PS: Não procuro nada pronto, claro que plugins coisas são inevitáveis porém para funcionarmos Lisos com menos bugs possíveis procuro algo feito “artesanalmente” rsrs.
       
      Obs: o projeto esta no inicio ainda, estou juntando contatos para chegar no objetivo, e assim que tiver um contato gostaria de poder conversar trocar ideias, caso seja um projeto onde você se identifique nada impede de sermos parceiros ter uma % sobre o negocio.
       
       
      Obs2: Desculpem se escrevi meio enrolado ou esta complicado de entender. pois apenas disse plataforma de eventos e não especifiquei nada. mas assim que receber um contato eu passo mais informações com alguns links de exemplos, que é melhor que falar.
       
      E caso aqui seja o lugar correto posso passar mais informações por aqui também.
       
      Seguem alguns exemplos de plataforma de eventos online.
      Download de 2 PDFs de apresentações do mesmo segmento
       
      Site de uma das plataformas porém proximo do que almejamos
      https://www.swaper.com.br/
       
       
      Fico a disposição,
       
      Desculpem se postei no local incorreto
       
    • By Rafael Castelhano
      Olá, nunca fiz consulta com Ajax e estou quebrando a cabeça para atualizar um campo no Django, tenho um template de funcionário e assim que selecionar a matricula quero que busque via ajax o nome do funcionário, segue no link meus arquivos, se alguém puder ajudar agradeço:
       
      https://gist.github.com/castelhano/dcbdbd6bef0d0012efddae544224a5a5
    • By FabianoSouza
      Pessoal, é possível abrir uma nova aba/janela do navegador dentro de uma DIV?
      Como faço?
       
      Pergunto isso porque o IFRAME não vai funcionar para o meu objetivo (já testei).
       
      Estou tentando adaptar esse código JQUERY para o Javascript puro, pra saber se a ideia funciona (não manjo de JQUERY).
      https://stackoverflow.com/questions/33296867/how-to-open-the-content-inside-a-div-tag-in-new-tab
       
      Grato.
    • By sirrocha
      Olá pessoal, sou iniciante só que tenho um projeto com uma certa pressão de tempo pra fazer. Um dos problemas que estou tendo é relacionado ao clicar em um tipo "a href" e aplicar uma função. Pelo que vi, tenho que usar AJAX mas não tenho nenhuma noção de como iniciar, mesmo vendo muitos vídeos...

      Basicamente tenho uma página onde está carregando algumas sessões. Porém, ao clicar neste botão:
       
      1 <p><a class="link" name="final" id="fin" onclick="finalizar()" href="areaUsuario.php" style="text-decoration:none;">finalizar</a></p>

      Estava tentando chamar uma função do tipo finalizar(), que iria dar UNSET em duas sessões específicas que eu precisava desligar (por isso não posso usar o destroy para tirar todas).
       
      1 2 3 4 5 6 7 8 9 <script type="text/javascript">>     <?php     function finalizar() {         unset($_SESSION['prestacao']);         unset($_SESSION['nomeproj']);         header("location:areaUsuario.php");     }     ?> </script>

      O que eu fiz e falaram que estava errado era isso. Como posso usar o AJAX neste caso para desligar essas duas funções e enviar o usuário para a área inicial? Por favor, se possível, enviar uma base de como poderia fazer com o raciocínio. É algo urgente, mas também gostaria de aprender.
    • By DinhoPHP
      Pessoal, tenho um código PHP que busca imagens em subpastas, porém gostaria de fazê-lo com que fosse carregado aos poucos pois são muitas fotos, tentei de ns maneiras entender o AJAX, mas não tive sucesso. Favor! Peço ajuda.
       
      loadAjax.php
      $dir = new DirectoryIterator( './images/portfolio/sem_categoria' ); // array contendo os diretórios permitidos $diretoriosPermitidos = array("portfolio","sem_categoria"); foreach($dir as $file) { // verifica se $file é diferente de '.' ou '..' if (!$file->isDot()) { // listando somente os diretórios if ( $file->isDir() ) { // atribui o nome do diretório a variável $dirName = $file->getFilename(); // subdiretórios $caminho = $file->getPathname(); // chamada da função de recursividade recursivo($caminho, $dirName); } // listando somente os arquivos do diretório if ( $file->isFile() ) { // atribui o nome do arquivo a variável $fileName = $file->getFilename(); // print //echo "Arquivos: ".$fileName."<br>"; } } } function recursivo( $caminho, $dirName ){ global $dirName; $DI = new DirectoryIterator( $caminho ); foreach ($DI as $file){ if (!$file->isDot()) { if ( $file->isFile() ) { // $fileName = $file->getFilename(); // //echo $dirName.": ".$fileName."<br>"; echo "<div class='col-12 col-sm-6 col-md-4 col-lg-3 mb-2 d-flex justify-content-center' alt=''> <a href='{$fileName}' class='fresco' data-fresco-group='example' data-fresco-caption='ARJ SERVICE'> <img class='eni-img-thumb' src='images/portfolio/sem_categoria/{$dirName}/{$fileName}'> </a> </div>"; } } } } Tentei adaptar o código abaixo as minhas necessidades, mas não consegui.
      <script> //variavel para controle de registros retornados var pagina = 0; var pesquisa = true; //function carrega function carrega(){ $('#loading').html("<img src='img/loader.gif'/> Carregando Feeds...").fadeIn('fast'); $.ajax({ type: "POST", url: "loadAjax.php", data: "page="+pagina,//variavel passada via post cache: false, success: function(html){ if(html){ $('#loading').fadeOut('fast'); $("#result").append(html); //mostra resultado na div result pesquisa = true; }else{ $('#loading').html("Fim da pesquisa...").fadeIn('fast'); pesquisa = false; } }, error:function(html){ $('#loading').html("erro...").fadeIn('fast'); } }); }; //chama minha funcao ao carregar a pagina $(document).ready(function(){ carrega(); }); //funcao de controle do scroll da pagina, na qual ela chega ao fim é acionada chamando //minha function carrega novamente para trazer mais dados dinamicamente $(window).scroll(function(){ if($(window).scrollTop() + $(window).height() >= $(document).height()){ pagina += 1; carrega(); }; }); </script>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.