Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
marlone

Sistema de busca sem refresh php

Pergunta

Como inserir um sistema de busca na minha tabela sem refresh, me ajudem por favor :D

<?php
	require('class/validacao.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
		$titulo = "Controle &raquo; Listar Material";
		require_once ("includes/header.php"); 
	?>
</head>
<title> Listar material </title>
<style>
table, td, th {    
    border: 1px solid #ddd;
    text-align: left;
}

table {
    border-collapse: collapse;
    width: 100%;
}

th, td {
    padding: 15px;
}
</style>
</head>
<body>
				<?php
	require_once('includes/testes.php');
	?>
	
		
<?php
// Conexão ao banco
require_once('conexao.php');
?>
<div id="principal">
<h1>MATERIAIS</h1>

				<form action="<?php $_SERVER['PHP_SELF']?>" method="post">
	

					
<?php
echo"<table width='100%' border='1'>";
echo '<table>';
echo '<tr>';
echo'<td>id</td>';
echo'<td>NOME</td>';
echo'<td>SETOR</td>';
echo'<td>Estoque  Atual</td>';
echo'<td>MINIMO</td>';
echo'<td>Entrada</td>';
echo'<td>Saida</td>';
echo'<td>Editar</td>';
echo'<td>Excluir</td>';
echo '</tr>';
$result_mat = "SELECT * FROM tbl_material";
$resultado_mat = mysqli_query($conn, $result_mat);
while($row_mat = mysqli_fetch_assoc($resultado_mat)){
echo '<tr>';
echo '<td>'.$row_mat["id"].'</td>';
echo '<td>'.$row_mat["NOME"].'</td>';
echo '<td>'.$row_mat["SETOR"].'</td>';
echo '<td>'.$row_mat["QUANTIDADE"].'</td>';
echo '<td>'.$row_mat["MINIMO"].'</td>';
echo '<td><a href="form_entrada.php?id='.$row_mat['id'].'">✚</a>
      <td><a href="form_saida.php?id='.$row_mat['id'].'">▬</a>
		<td><a href="form_alteracao_material.php?id='.$row_mat['id'].'">✐</a>
      <td><a href="deleta1.php?id='.$row_mat['id'].'">✖</a>
      </tr>';
}
echo '</table>';

?>
										
		
				</form>
			</div> <!-- Fim da div#principal -->
				<?php include('includes/fimerodape.php'); ?>

</body>

</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

2 respostas a esta questão

Recommended Posts

Voce deve usar ajax. Voce vai precisar de uma funcao JavaScript que vai basicamente fazer o PHP rodar novamente:

 

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
       //aqui voce recebera a resposta do PHP
       document.getElementById("demo").innerHTML = xhttp.responseText;
    }
};
xhttp.open("GET", "arquivo.php", true);
xhttp.send();

 

Era isso?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra maneira (dependendo da quantidade de dados) é fazer inteiramente com JavaScript...

 

<!DOCTYPE HTML>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

<p>Filtro por Nome:</p>
<p style="margin-bottom: 5px;">Nome:</p>
<input type="text" name="nome" id="nomeDaEmpresa" placeholder="Informe o nome da Empresa"/>


	
<hr />
<h3>Dados:</h3>		
<table style="width: 100%;text-align: left;">
	<thead>
		<tr>
			<th>Nome da Empresa</th>
			<th>Status</th>
		</tr>
	</thead>
	<tbody id="dados">
	
	</tbody>

</table>



<script type="text/javascript">	
	var dados = [
		{
		  "Nome": "Carrefour",
		  "Status": true
		}
		,{
		  "Nome": "Pão de Açucar",
		  "Status": false
		}
		,{
		  "Nome": "Extra",
		  "Status": true
		}
		,{
		  "Nome": "WallMart",
		  "Status": true
		}
	];
	
	document.getElementById("nomeDaEmpresa").addEventListener("keyup", function() {
		
		var dadosCopy = dados.slice();
		const filterNome = this.value;
		
		
		var i = dadosCopy.length;
		while (i--) {
		
			var myRegex = new RegExp(filterNome, 'gi');			
			if(dadosCopy[i]['Nome'].match(myRegex) ==  null){
				dadosCopy.splice(i, 1); // Remove o elemento
			}
		}		
		
		popDados(dadosCopy);
	});	
	
	
	function popDados(myArr){
		var dadosTable = document.getElementById("dados");
		while (dadosTable.firstChild) {
			dadosTable.removeChild(dadosTable.firstChild);
		}
		
		for(var x = 0; x < myArr.length; x++){
			var trTable = document.createElement('tr');
			trTable.innerHTML = '<td>'+  myArr[x]['Nome'] +'</td>' + '<td>'+ myArr[x]['Status'] +'</td>';			 
			
			document.getElementById("dados").appendChild(trTable);
		}
	}
	
	//Logo ao iniciar o DOM
	popDados(dados);
</script>
</body>
</html>

https://fiddle.jshell.net/7Ldt3x7a/

 

Ps: 

Qualquer semelhança com 'filter' do Angular é mera coincidência 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por babylon
      Olá galera tudo bem?
      Deixa eu perguntar, estava mexendo no meu site e queria adicionar em html essa tabela porem esta dando erro pois fica assim:
       

      Porem gostaria que ficasse assim:

      Segue o código da tabela:
      <center><table border="0">
          <tr>
      <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Bicicleta<br> <font color="#0092df">..</font>Track Bikes<br> <font color="#0092df">..</font>Aro 29 TKS</b></a></span><br><br><font size="5"><center><span style="background-color: #A1CD44">DE:</span></font> <br><font size="5"><s>R$ 1.999,99</center></font></s> </td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itembicicleta.jpg"><br><font size="5"><center><span style="background-color: #A1CD44">COM - 60%:</span></font> <br><font size="5">1.199,99</font></center></a></td>
             <td><font color="#ffffff">....</font></td>
              <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Monitor 24"<br> <font color="#0092df">..</font>Samsung<font color="#0092df">aa.aa</font><br> <font color="#0092df">..</font>1ms 144hz</b></a></span></center></td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itemmonitor.jpg"></a></td>
          </tr>
          </table></center>
      O que estaria errado, pois não sei como colocar nessa tabela outro fundo de outra cor, veja que usei td bgcolor="#0092df" para o azul escuro mas não sei como usaria pro "#e4f1fb" para o fundo ficar de azul claro em baixo bem como não ficou correto em altura o "DE:" com o "COM - 60%:".
      Bom é isso, obg.


    • Por clovis.sardinha
      Bom dia.
      Meu problema é o seguinte:
      Estou fazendo uma tabela e preciso mostrar o usuário e várias cidades que pertencem a este usuário.
      O resultado do array é o seguinte:

      Quando passo para a tabela os valores de cidade se repetem para o mesmo usuário até o final e retorna fazendo o mesmo para o próximo usuário. 
      Veja abaixo

       
      Meu código para a tabela é a seguinte:
      <tr> <td align="left"><?php echo $usuario['nome'] ?></td> <td align="left"><?php echo $usuario['nome_orgao'] ?></td> <td align="left"><?php echo $usuario['nome_funcao'] ?></td> <?php foreach($destinos as $key=>$destino):?> <?php $key=0;?> <td align="left"> <?php foreach($destino as $chave=> &$cidade): ?> <?php echo $cidade['cid_nome']."-";?> <?php endforeach;?> </td> <?php $key+=$key; ?> <?php endforeach;?> <td><?php echo date('d/m/Y', strtotime( $usuario['created_at'])) ?></td> <td align="left"><a href="<?php echo base_url('UserAdmin/Usuario/getUsuarioById')."/".$usuario['id_user'] ?>">DETALHES</a></td> </tr> <?php endforeach ?> Onde estou errando? O que tenho de fazer para percorrer este array de modo a aparecer apenas as cidades pertencentes a cada usuário?

    • Por MarceloEBM
      Baixei a tabela do melhorenvio e adaptei para o formato da webcontinental que eles disponibilizam, enviei para o gerente de conta e ele disse que rodou, não atualizou e não tem nenhuma mensagem de erro pra me passar.
       
      Posso estar fazendo errado, alguém tem alguma experiencia com esta tabela de frete?
    • Por btpdsnb
      Boa tarde, pessoal!
      Meu nome é Rodrigo e sou aluno de graduação da FEA-USP. Meu grupo está realizando uma pesquisa para analisar o que motiva e retém os desenvolvedores de software nas organizações do Brasil.
      Acreditamos que este tipo de pesquisa pode ajudar as empresas a entenderem os principais fatores de retenção e gerir melhor as práticas de gestão de pessoas adotadas para retê-los.
      Todos os dados pessoais coletados serão confidenciais, utilizados exclusivamente para fins acadêmicos.
      Aos que puderem responder, o questionário leva de 5 a 8 minutos para ser respondido.
      Link do formulário: https://docs.google.com/forms/d/1izmjInl_uuTgjIaQUF7Lk6rh7OudSy6MoBRugiMQdic/viewform?edit_requested=true
    • Por Jack Oliveira
      Ola pessoal boa noite preciso salvar umas coisas no banco de dados usando ao clicar no botão que esteja aparecendo sem que recarregue a página
       
      Seria isso aqui
       
      HTML do botão
      <div class="btn-group"> <a href="javascript:void(0)" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-up" aria-hidden="true"></i> Sim </a> <a href="javascript:void(0)" class="rate-btn toggole-contnet"> <i class="fa fa-thumbs-o-down" aria-hidden="true"></i> Não </a> </div> No PHP para salvar no banco esta da seguinte forma.
      <?php if(isset($_POST['AvaliComentario'])) { // Se o cookie ainda não foi setado $cookie = isset($_COOKIE["avali_comentario_".$Comentario['id']]) ? $_COOKIE["avali_comentario_".$Comentario['id']] : null; if (!isset($cookie)) { $Adicionar = array( 'comentario_id' => $Comentario['id'], 'up' => post('up'), 'down' => post('down') ); $Query = DBCreate('avali_comentario', $Adicionar); // Se for um sucesso a query if ($Query) { // Seta um cookie setcookie("avali_comentario_".$Comentario['id']."", true, time()+60*60*24*6004); // Retorna false, ou seja, sucesso echo false; Redireciona(''.$URLSHARE.''); }else{ //AbreAlerta("Erro! Ouve um erro ao ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } }else{ //Sweet('Atenção!!!', 'Você já deu sua Curtida para '.$dados['titulo'].'!', 'warning', 'Fechar'); //AbreAlerta("Ops! Você já deu sua Curtida para ".$dados['titulo']."!"); //Redireciona(''.$URLSHARE.''); } } Só preciso para quando clicar uns dos botão ele salvar sem precisar carregar a página...
       
      Se ter um forma diferente para fazer fico grato pelas dicas que puderem dar ai..
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.