Ir para conteúdo

POWERED BY:

Arquivado

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

groudon900

Filtro de Busca para tabela mysqli

Recommended Posts

segue o codigo que estou usando 

 

<?php
		//Receber o número da página
		$pagina_atual = filter_input(INPUT_GET,'pagina', FILTER_SANITIZE_NUMBER_INT);
		$pagina = (!empty($pagina_atual)) ? $pagina_atual : 1;

		//Setar a quantidade de itens por pagina
		$qnt_result_pg = 20;

		//calcular o inicio visualização
		$inicio = ($qnt_result_pg * $pagina) - $qnt_result_pg;

		$result_usuarios = "SELECT * FROM vendas ORDER BY data DESC LIMIT $inicio, $qnt_result_pg";
		$resultado_usuarios = mysqli_query($conn, $result_usuarios);
		while($row_usuario = mysqli_fetch_assoc($resultado_usuarios)){ ?>
                  <tbody>
                    <tr>
                      <td><img src="../foto/foto_pagamentos/<?php echo $row_usuario['fotos'] ?>" class="foto2"></td>
                      <td><?php echo $row_usuario['cliente'] ?></td>
                      <td><?php echo $row_usuario['email'] ?></td>
                      <td><?php echo $row_usuario['servico'] ?></td>
                      <td><?php echo $row_usuario['data'] ?></td>                     
                      <td>R$ <?php echo $row_usuario['valor'] ?></td>
                      <td><?php echo $row_usuario['metodo'] ?></td>
                      <td><?php echo $row_usuario['status'] ?></td>
                      <td><?php echo $row_usuario['ultimaalteracao'] ?></td>
                      <td><div class="dropdown no-arrow">
                          <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-600"></i>
                        </a>
                    <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
                      <div class="dropdown-header">PAGAMENTOS:</div>
                      <a class="dropdown-item" href="criarpagamentos?id=<?php echo $row_usuario['id'] ?>">Criar Pagamentos</a>
                      <div class="dropdown-divider"></div>
                      <a class="dropdown-item" href="proc_apagar_pagamentos.php?id=<?php echo $row_usuario['id'] ?>">Apagar Pagamentos</a>
                    </div>
                  </div></td>
                     
                    </tr>
                      <?php } ?>

 

queria fazer um filtro de busca, Tipo pra buscar por um nome especifico ou serviço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite

faz por ajax

segue o código

Config.php

<?php
$DB_HOST="localhost";
$DB_NAME= "root";
$DB_USER= "banco_de_dados";
$DB_PASS= "sua_senha";
$Tabela="sua_tabela_do_banco";


	# conectar o banco de dados
    $con=@mysqli_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
    if(!$con){
        die("impossível conectar: ".mysqli_error($con));
    }
    if (@mysqli_connect_errno()) {
        die("Falha na conexão: ".mysqli_connect_errno()." : ". mysqli_connect_error());
    }

?>

Arquivo da pasta ajax

<?php
//StatusSN
function StatusSN($Status){
    if ($Status == '1') {
        echo '<span class="btn btn-success active">Pago</span>';
    } elseif ($Status == '2') {
        echo '<span class="btn btn-warning active">Pendente</span>';
    } elseif ($Status == '3') {
        echo '<span class="btn btn-danger active">Não Pago</span>';
		}
}
	
	/* Conectar ao banco de dados*/

	require_once ("../conexion.php");

	
 	
mysqli_set_charset($con,"utf8");
	
$action = (isset($_REQUEST['action'])&& $_REQUEST['action'] !=NULL)?$_REQUEST['action']:'';
if($action == 'ajax'){
	$query = mysqli_real_escape_string($con,(strip_tags($_REQUEST['query'], ENT_QUOTES)));

	$tables="".$Tabela."";
	$campos="*";
	$sWhere="".$Tabela.".cliente LIKE '%".$query."%'  
	OR ".$Tabela.".email LIKE '%".$query."%'  
	OR ".$Tabela.".data LIKE '%".$query."%' 
	OR ".$Tabela.".valor LIKE '%".$query."%'  
	OR ".$Tabela.".status LIKE '%".$query."%' 
	OR ".$Tabela.".ultimaalteracao LIKE '%".$query."%'
	OR ".$Tabela.".metodo LIKE '%".$query."%'";
	$sWhere.=" order by ".$Tabela.".cliente";
	
	
	include 'pagination.php'; // inclui arquivo de paginação
// variáveis de paginação
	$page = (isset($_REQUEST['page']) && !empty($_REQUEST['page']))?$_REQUEST['page']:1;
	$per_page = intval($_REQUEST['per_page']); // quantos registros você deseja mostrar
	$adjacents  = 50; // intervalo entre as páginas após o número de adjacentes
	$offset = ($page - 1) * $per_page;
	
// Conte o número total de linhas na sua tabela * /
	$count_query   = mysqli_query($con,"SELECT count(*) AS numrows FROM $tables where $sWhere ");
	if ($row= mysqli_fetch_array($count_query)){$numrows = $row['numrows'];}
	else {echo mysqli_error($con);}
	$total_pages = ceil($numrows/$per_page);
	
// consulta principal para buscar os dados
	$query = mysqli_query($con,"SELECT $campos FROM  $tables where $sWhere LIMIT $offset,$per_page");
	
// percorre os dados buscados
	
$finales=0;

		
	
	if ($numrows>0){
		
	?>
	<html 	
<head lang="pt-br" class="no-js">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex" />
  <meta name="viewport" content="width=device-width, initial-scale=1">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css" />

</head>	
	
  
		<div class="table-responsive">
	
			<table class="table table-striped table-hover">
									        <thead>
									            <tr>
									                	
									                <th>Id</th>
                                                    <th>Imagem</th>													
                                                    <th>Clientes</th>									                
													<th>E-mail</th>
									              	<th>Serviços</th>
									              	<th>Data</th>
													<th>Valor</th>
													<th>Método</th>
													<th>Status</th>
													<th>Data Edição</th>																										
													<th width="50%">Ações</th>
									              
									            </tr>
									        </thead>
				<tbody>	
						<?php 
						while($row_usuario  = mysqli_fetch_array($query)){	
							$id              = $row_usuario['id'];
							$cliente         = $row_usuario['cliente'];
							$email           = $row_usuario['email'];
							$servico         =$row_usuario['servico'];
							$data            =$row_usuario['data'];
							$valor           =$row_usuario['valor'];
							$metodo          =$row_usuario['metodo'];
							$status          =$row_usuario['status'];
                            $ultimaalteracao =$row_usuario['ultimaalteracao'];							
                            $fotos           =$row_usuario['fotos'];							
							$finales++;

						?>	
			<tr>
                      <td><img src="../foto/foto_pagamentos/<?php echo $row_usuario['fotos']; ?>" class="foto2"></td>
                      <td><?php echo $row_usuario['cliente']; ?></td>
                      <td><?php echo $row_usuario['email']; ?></td>
                      <td><?php echo $row_usuario['servico']; ?></td>
                      <td><?php echo $row_usuario['data']; ?></td>                     
                      <td>R$ <?php echo $row_usuario['valor']; ?></td>
                      <td><?php echo $row_usuario['metodo']; ?></td>
                      <td><?php echo StatusSN($row_usuario['status']); ?></td>
                      <td><?php echo $row_usuario['ultimaalteracao']; ?></td>
                      <td><div class="dropdown no-arrow">
                          <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-600"></i>
                        </a>
                    <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
                      <div class="dropdown-header">PAGAMENTOS:</div>
                      <a class="dropdown-item" href="criarpagamentos?id=<?php echo $row_usuario['id']; ?>">Criar Pagamentos</a>
                      <div class="dropdown-divider"></div>
                      <a class="dropdown-item" href="proc_apagar_pagamentos.php?id=<?php echo $row_usuario['id']; ?>">Apagar Pagamentos</a>
                    </div>
                  </div>
				  </td>


			</tr>
						<?php }?>
						<tr>
							<td colspan='6'> 
								<?php 
									$inicios=$offset+1;
									$finales+=$inicios -1;
									echo "Mostrando $inicios al $finales de $numrows registros";
									echo paginate( $page, $total_pages, $adjacents);
								?>
							</td>
						</tr>


				</tbody>			
			</table>

		</div>	


<?php
}

}


?>

Para fazer a paginação

<?php
function paginate($page, $tpages, $adjacents) {
	$prevlabel = "&lsaquo; Anterior";
	$nextlabel = "Proximo &rsaquo;";
	$out = '<ul class="pagination   pull-right">';
	
	// etiqueta anterior

	if($page==1) {
		$out.= "<li class='page-item disabled'><a>$prevlabel</a></li>";
	} else if($page==2) {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>$prevlabel</a></li>";
	}else {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".($page-1).")'>$prevlabel</a></li>";

	}
	
	// primeiro rótulo
	if($page>($adjacents+1)) {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>1</a></li>";
	}
	// intervalo
	if($page>($adjacents+2)) {
		$out.= "<li class='page-item'><a>...</a></li>";
	}

	// Páginas

	$pmin = ($page>$adjacents) ? ($page-$adjacents) : 1;
	$pmax = ($page<($tpages-$adjacents)) ? ($page+$adjacents) : $tpages;
	for($i=$pmin; $i<=$pmax; $i++) {
		if($i==$page) {
			$out.= "<li class='active page-item'><a>$i</a></li>";
		}else if($i==1) {
			$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>$i</a></li>";
		}else {
			$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".$i.")'>$i</a></li>";
		}
	}

	// intervalo

	if($page<($tpages-$adjacents-1)) {
		$out.= "<li class='page-item'><a>...</a></li>";
	}

	// Último

	if($page<($tpages-$adjacents)) {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load($tpages)'>$tpages</a></li>";
	}

	// Próximo

	if($page<$tpages) {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".($page+1).")'>$nextlabel</a></li>";
	}else {
		$out.= "<li class='disabled page-item'><a>$nextlabel</a></li>";
	}
	
	$out.= "</ul>";
	return $out;
}
?>

 

No seu arquivo que vai receber as buscas coloca isso

			<div class='col-sm-12 pull-right'>
			<div id="custom-search-input">
                            <div class="input-group col-md-12">
                                <input type="text" class="form-control" placeholder="Faça a sua busca aqui...."  id="q" onkeyup="load(1);" />
                                <span class="input-group-btn">
                                    <button class="btn btn-success" type="button" onclick="load(1);">
                                        <span class="glyphicon glyphicon-search"></span>
                                    </button>
                                </span>
                            </div>
                </div>
			</div>
			<div class='clearfix'></div>
			<hr>
			<center><div id="loader"></div></center><!-- Carga de datos ajax aqui -->
			<div id="resultados"></div><!-- Carga de datos ajax aqui -->
			<div class='outer_div'></div><!-- Carga de datos ajax aqui -->
            
			

Css para barra de busca

  <style type="text/css">
{
color: #666;
font: 90%/180% Arial, Helvetica, Sans-serif;
width: 800px;
max-width: 96%;
margin: 0 auto;
}
a {
 
  color: #69c;
text-decoration: none;
}
a:hover {
   color: #f43319;
}
p {
   margin: 0 0 20px;
}


input {
  outline: none;
}
input[type=buscar] {
 -webkit-appearance: textfield;
 -webkit-box-sizing: content-box;
 font-family: inherit;
font-size: 100%;
}
input: :-webkit-search-decoration,
input: :-webkit-search-cancel-button {
   display: none;
}


input[type=buscar] {
  background: #1213312
url(https://static.tumblr.com/ftv85bp/MIXmud4tx/search-icon.png) no-repeat 9px center;
    border: solid 1px #000;
   padding: 15px 85px 9px   19px;
  width: 100px;


     -webkit-border-radius: 10em;
     -moz-border-radius: 10em;
     border-radius: 10em;

    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    transition: all .5s;
}

input[type=buscar]:focus {
  width: 50%;
  background-color: #fff;
  border-color: #66cc75;


       -webkit-box-shadow: 0 0 5px rbga(109,207,246,.5);
       -moz-box-shadow: 0 0 5px rbga(109,207,246,.5);
       box-shadow: 0 0 5px rbga(109,207,246,.5);
}

input:-moz-placeholder {
  color: #999;
}
 

</style>

Javascript

 <script type="text/javascript">
        
        		$(function() {
			load(1);
		});
		function load(page){
			var query=$("#q").val();
			var per_page=10;
			var parametros = {"action":"ajax","page":page,'query':query,'per_page':per_page};
			$("#loader").fadeIn('slow');
			$.ajax({
				url:'ajax/nome-do-arquivo.php',
				data: parametros,
				 beforeSend: function(objeto){
				$("#loader").html("Estamos fazendo a sua busca no banco de dados aguarde....");
			  },
				success:function(data){
					$(".outer_div").html(data).fadeIn('slow');
					$("#loader").html("");
				}
			})
		}
    </script>

É isso ai espero ter ajudado....

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Jack Oliveira disse:

Boa noite

faz por ajax

segue o código

Config.php


<?php
$DB_HOST="localhost";
$DB_NAME= "root";
$DB_USER= "banco_de_dados";
$DB_PASS= "sua_senha";
$Tabela="sua_tabela_do_banco";


	# conectar o banco de dados
    $con=@mysqli_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
    if(!$con){
        die("impossível conectar: ".mysqli_error($con));
    }
    if (@mysqli_connect_errno()) {
        die("Falha na conexão: ".mysqli_connect_errno()." : ". mysqli_connect_error());
    }

?>

Arquivo da pasta ajax


<?php
//StatusSN
function StatusSN($Status){
    if ($Status == '1') {
        echo '<span class="btn btn-success active">Pago</span>';
    } elseif ($Status == '2') {
        echo '<span class="btn btn-warning active">Pendente</span>';
    } elseif ($Status == '3') {
        echo '<span class="btn btn-danger active">Não Pago</span>';
		}
}
	
	/* Conectar ao banco de dados*/

	require_once ("../conexion.php");

	
 	
mysqli_set_charset($con,"utf8");
	
$action = (isset($_REQUEST['action'])&& $_REQUEST['action'] !=NULL)?$_REQUEST['action']:'';
if($action == 'ajax'){
	$query = mysqli_real_escape_string($con,(strip_tags($_REQUEST['query'], ENT_QUOTES)));

	$tables="".$Tabela."";
	$campos="*";
	$sWhere="".$Tabela.".cliente LIKE '%".$query."%'  
	OR ".$Tabela.".email LIKE '%".$query."%'  
	OR ".$Tabela.".data LIKE '%".$query."%' 
	OR ".$Tabela.".valor LIKE '%".$query."%'  
	OR ".$Tabela.".status LIKE '%".$query."%' 
	OR ".$Tabela.".ultimaalteracao LIKE '%".$query."%'
	OR ".$Tabela.".metodo LIKE '%".$query."%'";
	$sWhere.=" order by ".$Tabela.".cliente";
	
	
	include 'pagination.php'; // inclui arquivo de paginação
// variáveis de paginação
	$page = (isset($_REQUEST['page']) && !empty($_REQUEST['page']))?$_REQUEST['page']:1;
	$per_page = intval($_REQUEST['per_page']); // quantos registros você deseja mostrar
	$adjacents  = 50; // intervalo entre as páginas após o número de adjacentes
	$offset = ($page - 1) * $per_page;
	
// Conte o número total de linhas na sua tabela * /
	$count_query   = mysqli_query($con,"SELECT count(*) AS numrows FROM $tables where $sWhere ");
	if ($row= mysqli_fetch_array($count_query)){$numrows = $row['numrows'];}
	else {echo mysqli_error($con);}
	$total_pages = ceil($numrows/$per_page);
	
// consulta principal para buscar os dados
	$query = mysqli_query($con,"SELECT $campos FROM  $tables where $sWhere LIMIT $offset,$per_page");
	
// percorre os dados buscados
	
$finales=0;

		
	
	if ($numrows>0){
		
	?>
	<html 	
<head lang="pt-br" class="no-js">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex" />
  <meta name="viewport" content="width=device-width, initial-scale=1">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css" />

</head>	
	
  
		<div class="table-responsive">
	
			<table class="table table-striped table-hover">
									        <thead>
									            <tr>
									                	
									                <th>Id</th>
                                                    <th>Imagem</th>													
                                                    <th>Clientes</th>									                
													<th>E-mail</th>
									              	<th>Serviços</th>
									              	<th>Data</th>
													<th>Valor</th>
													<th>Método</th>
													<th>Status</th>
													<th>Data Edição</th>																										
													<th width="50%">Ações</th>
									              
									            </tr>
									        </thead>
				<tbody>	
						<?php 
						while($row_usuario  = mysqli_fetch_array($query)){	
							$id              = $row_usuario['id'];
							$cliente         = $row_usuario['cliente'];
							$email           = $row_usuario['email'];
							$servico         =$row_usuario['servico'];
							$data            =$row_usuario['data'];
							$valor           =$row_usuario['valor'];
							$metodo          =$row_usuario['metodo'];
							$status          =$row_usuario['status'];
                            $ultimaalteracao =$row_usuario['ultimaalteracao'];							
                            $fotos           =$row_usuario['fotos'];							
							$finales++;

						?>	
			<tr>
                      <td><img src="../foto/foto_pagamentos/<?php echo $row_usuario['fotos']; ?>" class="foto2"></td>
                      <td><?php echo $row_usuario['cliente']; ?></td>
                      <td><?php echo $row_usuario['email']; ?></td>
                      <td><?php echo $row_usuario['servico']; ?></td>
                      <td><?php echo $row_usuario['data']; ?></td>                     
                      <td>R$ <?php echo $row_usuario['valor']; ?></td>
                      <td><?php echo $row_usuario['metodo']; ?></td>
                      <td><?php echo StatusSN($row_usuario['status']); ?></td>
                      <td><?php echo $row_usuario['ultimaalteracao']; ?></td>
                      <td><div class="dropdown no-arrow">
                          <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-600"></i>
                        </a>
                    <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
                      <div class="dropdown-header">PAGAMENTOS:</div>
                      <a class="dropdown-item" href="criarpagamentos?id=<?php echo $row_usuario['id']; ?>">Criar Pagamentos</a>
                      <div class="dropdown-divider"></div>
                      <a class="dropdown-item" href="proc_apagar_pagamentos.php?id=<?php echo $row_usuario['id']; ?>">Apagar Pagamentos</a>
                    </div>
                  </div>
				  </td>


			</tr>
						<?php }?>
						<tr>
							<td colspan='6'> 
								<?php 
									$inicios=$offset+1;
									$finales+=$inicios -1;
									echo "Mostrando $inicios al $finales de $numrows registros";
									echo paginate( $page, $total_pages, $adjacents);
								?>
							</td>
						</tr>


				</tbody>			
			</table>

		</div>	


<?php
}

}


?>

Para fazer a paginação


<?php
function paginate($page, $tpages, $adjacents) {
	$prevlabel = "&lsaquo; Anterior";
	$nextlabel = "Proximo &rsaquo;";
	$out = '<ul class="pagination   pull-right">';
	
	// etiqueta anterior

	if($page==1) {
		$out.= "<li class='page-item disabled'><a>$prevlabel</a></li>";
	} else if($page==2) {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>$prevlabel</a></li>";
	}else {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".($page-1).")'>$prevlabel</a></li>";

	}
	
	// primeiro rótulo
	if($page>($adjacents+1)) {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>1</a></li>";
	}
	// intervalo
	if($page>($adjacents+2)) {
		$out.= "<li class='page-item'><a>...</a></li>";
	}

	// Páginas

	$pmin = ($page>$adjacents) ? ($page-$adjacents) : 1;
	$pmax = ($page<($tpages-$adjacents)) ? ($page+$adjacents) : $tpages;
	for($i=$pmin; $i<=$pmax; $i++) {
		if($i==$page) {
			$out.= "<li class='active page-item'><a>$i</a></li>";
		}else if($i==1) {
			$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>$i</a></li>";
		}else {
			$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".$i.")'>$i</a></li>";
		}
	}

	// intervalo

	if($page<($tpages-$adjacents-1)) {
		$out.= "<li class='page-item'><a>...</a></li>";
	}

	// Último

	if($page<($tpages-$adjacents)) {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load($tpages)'>$tpages</a></li>";
	}

	// Próximo

	if($page<$tpages) {
		$out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".($page+1).")'>$nextlabel</a></li>";
	}else {
		$out.= "<li class='disabled page-item'><a>$nextlabel</a></li>";
	}
	
	$out.= "</ul>";
	return $out;
}
?>

 

No seu arquivo que vai receber as buscas coloca isso


			<div class='col-sm-12 pull-right'>
			<div id="custom-search-input">
                            <div class="input-group col-md-12">
                                <input type="text" class="form-control" placeholder="Faça a sua busca aqui...."  id="q" onkeyup="load(1);" />
                                <span class="input-group-btn">
                                    <button class="btn btn-success" type="button" onclick="load(1);">
                                        <span class="glyphicon glyphicon-search"></span>
                                    </button>
                                </span>
                            </div>
                </div>
			</div>
			<div class='clearfix'></div>
			<hr>
			<center><div id="loader"></div></center><!-- Carga de datos ajax aqui -->
			<div id="resultados"></div><!-- Carga de datos ajax aqui -->
			<div class='outer_div'></div><!-- Carga de datos ajax aqui -->
            
			

Css para barra de busca


  <style type="text/css">
{
color: #666;
font: 90%/180% Arial, Helvetica, Sans-serif;
width: 800px;
max-width: 96%;
margin: 0 auto;
}
a {
 
  color: #69c;
text-decoration: none;
}
a:hover {
   color: #f43319;
}
p {
   margin: 0 0 20px;
}


input {
  outline: none;
}
input[type=buscar] {
 -webkit-appearance: textfield;
 -webkit-box-sizing: content-box;
 font-family: inherit;
font-size: 100%;
}
input: :-webkit-search-decoration,
input: :-webkit-search-cancel-button {
   display: none;
}


input[type=buscar] {
  background: #1213312
url(https://static.tumblr.com/ftv85bp/MIXmud4tx/search-icon.png) no-repeat 9px center;
    border: solid 1px #000;
   padding: 15px 85px 9px   19px;
  width: 100px;


     -webkit-border-radius: 10em;
     -moz-border-radius: 10em;
     border-radius: 10em;

    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    transition: all .5s;
}

input[type=buscar]:focus {
  width: 50%;
  background-color: #fff;
  border-color: #66cc75;


       -webkit-box-shadow: 0 0 5px rbga(109,207,246,.5);
       -moz-box-shadow: 0 0 5px rbga(109,207,246,.5);
       box-shadow: 0 0 5px rbga(109,207,246,.5);
}

input:-moz-placeholder {
  color: #999;
}
 

</style>

Javascript


 <script type="text/javascript">
        
        		$(function() {
			load(1);
		});
		function load(page){
			var query=$("#q").val();
			var per_page=10;
			var parametros = {"action":"ajax","page":page,'query':query,'per_page':per_page};
			$("#loader").fadeIn('slow');
			$.ajax({
				url:'ajax/nome-do-arquivo.php',
				data: parametros,
				 beforeSend: function(objeto){
				$("#loader").html("Estamos fazendo a sua busca no banco de dados aguarde....");
			  },
				success:function(data){
					$(".outer_div").html(data).fadeIn('slow');
					$("#loader").html("");
				}
			})
		}
    </script>

É isso ai espero ter ajudado....

 

amigão eu não entendi (arquivo da pasta ajax) até porque eu ainda não mexi com o mesmo ! desculpa minha ignorância, poderia me montar esses arquivos e me enviar dentro de uma pasta só pra eu testar e analisar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Jack Oliveira disse:

<?php $DB_HOST="localhost"; $DB_NAME= "root"; $DB_USER= "banco_de_dados"; $DB_PASS= "sua_senha"; $Tabela="sua_tabela_do_banco"; # conectar o banco de dados $con=@mysqli_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME); if(!$con){ die("impossível conectar: ".mysqli_error($con)); } if (@mysqli_connect_errno()) { die("Falha na conexão: ".mysqli_connect_errno()." : ". mysqli_connect_error()); } ?>

aqui você vai criar um arquivo conexion.php

1 hora atrás, Jack Oliveira disse:

<?php //StatusSN function StatusSN($Status){ if ($Status == '1') { echo '<span class="btn btn-success active">Pago</span>'; } elseif ($Status == '2') { echo '<span class="btn btn-warning active">Pendente</span>'; } elseif ($Status == '3') { echo '<span class="btn btn-danger active">Não Pago</span>'; } } /* Conectar ao banco de dados*/ require_once ("../conexion.php"); mysqli_set_charset($con,"utf8"); $action = (isset($_REQUEST['action'])&& $_REQUEST['action'] !=NULL)?$_REQUEST['action']:''; if($action == 'ajax'){ $query = mysqli_real_escape_string($con,(strip_tags($_REQUEST['query'], ENT_QUOTES))); $tables="".$Tabela.""; $campos="*"; $sWhere="".$Tabela.".cliente LIKE '%".$query."%' OR ".$Tabela.".email LIKE '%".$query."%' OR ".$Tabela.".data LIKE '%".$query."%' OR ".$Tabela.".valor LIKE '%".$query."%' OR ".$Tabela.".status LIKE '%".$query."%' OR ".$Tabela.".ultimaalteracao LIKE '%".$query."%' OR ".$Tabela.".metodo LIKE '%".$query."%'"; $sWhere.=" order by ".$Tabela.".cliente"; include 'pagination.php'; // inclui arquivo de paginação // variáveis de paginação $page = (isset($_REQUEST['page']) && !empty($_REQUEST['page']))?$_REQUEST['page']:1; $per_page = intval($_REQUEST['per_page']); // quantos registros você deseja mostrar $adjacents = 50; // intervalo entre as páginas após o número de adjacentes $offset = ($page - 1) * $per_page; // Conte o número total de linhas na sua tabela * / $count_query = mysqli_query($con,"SELECT count(*) AS numrows FROM $tables where $sWhere "); if ($row= mysqli_fetch_array($count_query)){$numrows = $row['numrows'];} else {echo mysqli_error($con);} $total_pages = ceil($numrows/$per_page); // consulta principal para buscar os dados $query = mysqli_query($con,"SELECT $campos FROM $tables where $sWhere LIMIT $offset,$per_page"); // percorre os dados buscados $finales=0; if ($numrows>0){ ?> <html <head lang="pt-br" class="no-js"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="robots" content="noindex" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css" /> </head> <div class="table-responsive"> <table class="table table-striped table-hover"> <thead> <tr> <th>Id</th> <th>Imagem</th> <th>Clientes</th> <th>E-mail</th> <th>Serviços</th> <th>Data</th> <th>Valor</th> <th>Método</th> <th>Status</th> <th>Data Edição</th> <th width="50%">Ações</th> </tr> </thead> <tbody> <?php while($row_usuario = mysqli_fetch_array($query)){ $id = $row_usuario['id']; $cliente = $row_usuario['cliente']; $email = $row_usuario['email']; $servico =$row_usuario['servico']; $data =$row_usuario['data']; $valor =$row_usuario['valor']; $metodo =$row_usuario['metodo']; $status =$row_usuario['status']; $ultimaalteracao =$row_usuario['ultimaalteracao']; $fotos =$row_usuario['fotos']; $finales++; ?> <tr> <td><img src="../foto/foto_pagamentos/<?php echo $row_usuario['fotos']; ?>" class="foto2"></td> <td><?php echo $row_usuario['cliente']; ?></td> <td><?php echo $row_usuario['email']; ?></td> <td><?php echo $row_usuario['servico']; ?></td> <td><?php echo $row_usuario['data']; ?></td> <td>R$ <?php echo $row_usuario['valor']; ?></td> <td><?php echo $row_usuario['metodo']; ?></td> <td><?php echo StatusSN($row_usuario['status']); ?></td> <td><?php echo $row_usuario['ultimaalteracao']; ?></td> <td><div class="dropdown no-arrow"> <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-600"></i> </a> <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink"> <div class="dropdown-header">PAGAMENTOS:</div> <a class="dropdown-item" href="criarpagamentos?id=<?php echo $row_usuario['id']; ?>">Criar Pagamentos</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="proc_apagar_pagamentos.php?id=<?php echo $row_usuario['id']; ?>">Apagar Pagamentos</a> </div> </div> </td> </tr> <?php }?> <tr> <td colspan='6'> <?php $inicios=$offset+1; $finales+=$inicios -1; echo "Mostrando $inicios al $finales de $numrows registros"; echo paginate( $page, $total_pages, $adjacents); ?> </td> </tr> </tbody> </table> </div> <?php } } ?>

este aqui você vai criar uma pasta ajax/nome-do-arquivo.php

 

17 minutos atrás, groudon900 disse:

<?php function paginate($page, $tpages, $adjacents) { $prevlabel = "&lsaquo; Anterior"; $nextlabel = "Proximo &rsaquo;"; $out = '<ul class="pagination pull-right">'; // etiqueta anterior if($page==1) { $out.= "<li class='page-item disabled'><a>$prevlabel</a></li>"; } else if($page==2) { $out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>$prevlabel</a></li>"; }else { $out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".($page-1).")'>$prevlabel</a></li>"; } // primeiro rótulo if($page>($adjacents+1)) { $out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>1</a></li>"; } // intervalo if($page>($adjacents+2)) { $out.= "<li class='page-item'><a>...</a></li>"; } // Páginas $pmin = ($page>$adjacents) ? ($page-$adjacents) : 1; $pmax = ($page<($tpages-$adjacents)) ? ($page+$adjacents) : $tpages; for($i=$pmin; $i<=$pmax; $i++) { if($i==$page) { $out.= "<li class='active page-item'><a>$i</a></li>"; }else if($i==1) { $out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(1)'>$i</a></li>"; }else { $out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".$i.")'>$i</a></li>"; } } // intervalo if($page<($tpages-$adjacents-1)) { $out.= "<li class='page-item'><a>...</a></li>"; } // Último if($page<($tpages-$adjacents)) { $out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load($tpages)'>$tpages</a></li>"; } // Próximo if($page<$tpages) { $out.= "<li class='page-item'><a href='javascript:void(0);' onclick='load(".($page+1).")'>$nextlabel</a></li>"; }else { $out.= "<li class='disabled page-item'><a>$nextlabel</a></li>"; } $out.= "</ul>"; return $out; } ?>

Este aqui você pode colocar na propria pasta ajax se assim querer

ex: ajax/paginacao.php

19 minutos atrás, groudon900 disse:

<div class='col-sm-12 pull-right'> <div id="custom-search-input"> <div class="input-group col-md-12"> <input type="text" class="form-control" placeholder="Faça a sua busca aqui...." id="q" onkeyup="load(1);" /> <span class="input-group-btn"> <button class="btn btn-success" type="button" onclick="load(1);"> <span class="glyphicon glyphicon-search"></span> </button> </span> </div> </div> </div> <div class='clearfix'></div> <hr> <center><div id="loader"></div></center><!-- Carga de datos ajax aqui --> <div id="resultados"></div><!-- Carga de datos ajax aqui --> <div class='outer_div'></div><!-- Carga de datos ajax aqui -->

Este aqui você coloca numa div row do index.php do seu sistema ele vai trazer todos os resultados que estará a pasta ajax/nome-do-arquivo.php

entendeu?

1 hora atrás, Jack Oliveira disse:

<style type="text/css"> { color: #666; font: 90%/180% Arial, Helvetica, Sans-serif; width: 800px; max-width: 96%; margin: 0 auto; } a { color: #69c; text-decoration: none; } a:hover { color: #f43319; } p { margin: 0 0 20px; } input { outline: none; } input[type=buscar] { -webkit-appearance: textfield; -webkit-box-sizing: content-box; font-family: inherit; font-size: 100%; } input: :-webkit-search-decoration, input: :-webkit-search-cancel-button { display: none; } input[type=buscar] { background: #1213312 url(https://static.tumblr.com/ftv85bp/MIXmud4tx/search-icon.png) no-repeat 9px center; border: solid 1px #000; padding: 15px 85px 9px 19px; width: 100px; -webkit-border-radius: 10em; -moz-border-radius: 10em; border-radius: 10em; -webkit-transition: all .5s; -moz-transition: all .5s; transition: all .5s; } input[type=buscar]:focus { width: 50%; background-color: #fff; border-color: #66cc75; -webkit-box-shadow: 0 0 5px rbga(109,207,246,.5); -moz-box-shadow: 0 0 5px rbga(109,207,246,.5); box-shadow: 0 0 5px rbga(109,207,246,.5); } input:-moz-placeholder { color: #999; } </style>

Este CSS você coloca onde vai esta o código que vai trazer os resultados da pasta ajax certo!!

1 hora atrás, Jack Oliveira disse:

<script type="text/javascript"> $(function() { load(1); }); function load(page){ var query=$("#q").val(); var per_page=10; var parametros = {"action":"ajax","page":page,'query':query,'per_page':per_page}; $("#loader").fadeIn('slow'); $.ajax({ url:'ajax/nome-do-arquivo.php', data: parametros, beforeSend: function(objeto){ $("#loader").html("Estamos fazendo a sua busca no banco de dados aguarde...."); }, success:function(data){ $(".outer_div").html(data).fadeIn('slow'); $("#loader").html(""); } }) } </script>

Este você pode colocar no footer.php do seu sistema

fazendo tudo certo ai ele vai funcionar 100%

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
×

Informação importante

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