Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda - sistema de busca utilizando CRUD.


jairson.camargo

Pergunta

 

Bom pessoal, preciso de uma forcinha , estou bloqueado a pelo menos um mês , vamos la!

Desenvolvi uma pequena aplicação usando a tecnologia PHP, MYSQL, jquery, booststrap, usando ajax ,trata-se de um tela em forma de painel  que, apenas apertando os botoes muda a cor deles mostrando o status da atividade (verde, vermelho e inativo),sem " refresh "  ate ai tudo bem funciona de boa . Na pagina principal tenho duas DIVS que recebe resultados do  select de uma script php, uma mostra todo cadastro, a outra o resultado de uma busca, coloquei os eventos para ocultar uma div  do cadastro geral caso a consulta seja feita  mostra o resultado na outra e caso não haja consulta ,oculta div da busca e mostra o cadastro geral, como o script  de atualização sempre acontece  na div :#lista , perco essa funcionalidade no busca pois ela executa dentro da div resultados , "ao trazer o resultado e apertando os botoes nada acontece" , alguém teria uma solução, talvez se possível, armazenar em uma variável os valores do input de forma global, na qual fosse possível atualizar diretamente o mesmo item da busca ao pressionar os botoes?

 pagina principal lista.php

<!DOCTYPE html>
<html lang="pt-br">
<body>
<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title>Lista docs</title>
	    <link rel="shortcut icon" type="image/x-icon" href="alien.ico">
	    <!-- biblioteca  de stilos bootstrap------------------------------------------------>
	    <link href="bootstrap/css/bootstrap.css" type="text/css" rel="stylesheet">
	    <!--meu stilo ---------------------------------------------------------------------->
	    <link href="css/menu.css" type="text/css" rel="stylesheet">
        <!---------------------------------------------------------------------------------->
	</head>
	<body>
		<div class="container-fluid">
				   
				   <h1>Arquivos Digitais</h1>			                           
						<div class="form-group">	 
							 <div class="col-3">
								 <input type="text" class="form-control" id="pesquisa" name='pesquisa' placeholder="Entre com a pesquisa!!">	
							  </div>
						</div>
			
             <div id="lista"></div>         <!--mostra pesquisa geral-->
             <div class="resultados"></div> <!--mostra resultado da busca-->
         
		
		</div>
		<!-- Biblioteca Jquery---------------------------------------------------------------->
		<script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
		<!------------------------------------------------------------------------------------>
		<!-- Script Ajax---------------------------------------------------------------------->
        <script type="text/javascript" src="js/ajax.js"></script>
		<!------------------------------------------------------------------------------------>
		<!--Biblioteca js bootstrap----------------------------------------------------------->
		<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
		<!------------------------------------------------------------------------------------>
	</body>
</html>

Esse e o script js, faz a coisa toda acontecer acionando os script em php,   ajax.js

// chamando a função ao iniciar a pagina 
$(document).ready(function() {
        atualiza();
	    	
        });
//funcão para atualizar a pagina, mostra resultado na div listar
    function atualiza() {
		//buscando resutado pagina php e mostrando na div lista
    $.get("le_registro.php", {}, function (data, status) {
        $("#lista").html(data);
		
		
    });
		
}
// função que pega o que foi digitado no input para fazer a busca, oculta a div lista
//mostra div resultados, caso contra , mostra reverso, (oculta o resultado mostra o lista)
     
$(function(){
     	      $("#pesquisa").keyup(function(){
        		  var pesquisa 	= $(this).val();
              if(pesquisa != ""){
			    var dados = {
				palavra : pesquisa,
				}
                $.post('busca.php', dados, function(retorna){
                $(".resultados").fadeIn(1);//mostra div
                $("#lista").fadeOut(1);//oculta div
				//mostra na div resultados e oculta a div lista
				$(".resultados").html(retorna);
				
				

			});
		}
        else {
			//como não tem valor a processar oculta resultados e mostra o lista
            $.post('busca.php', dados, function(retorna){
                $(".resultados").fadeOut(1);//oculta div
                $("#lista").fadeIn(1);//mostra div
              
			
            });



        }
	});
	});

//função para mudar status do botao liberado
function mudaliberado(id) {
    var acao = '1';
    var id = id

      $.post("upd_liberado.php", {
            id: id,
            acao: acao
        },
        function (data, status) {
            
          atualiza();//chamando função atualiza
		
	
        }
    );
}
//função para mudar status do botao liberado(teste esta linkado na pagina busca.php)
function mudaliberado1(id) {
     var acao = '1';
    var id = id
    $.post("upd_liberado1.php", {
            id: id,
            acao: acao
        },
        function (data, status) {
        	atualiza();	//chamando função atualiza
	
        }
    );
}

//função para mudar status do botao ICMS
function mudaspedicms(id) {
     var acao = '1';
    var id = id
    $.post("upd_mudaspedicms.php", {
            id: id,
            acao: acao
        },
        function (data, status) {
            
            atualiza();//chamando função atualiza
		
        }
    );
}
//função para mudar status do botao CONT
function mudaspedcont(id) {
    var acao = '1';
    var id = id
    $.post("upd_mudaspedcont.php", {
            id: id,
            acao: acao
        },
        function (data, status) {
            
            atualiza();//chamando função atualiza
		
        }
    );
}
//função para mudar status do botao XML
function mudaxml(id) {
    var acao = '1';
    var id = id
    $.post("upd_mudaxml.php", {
            id: id,
            acao: acao
        },
        function (data, status) {
            
            atualiza();//chamando função atualiza
		
        }
    );
}

Esse e o arquivo para mudar o status do botao, nesse caso vou colocar apenas um que seria muda botao liberado, up_liberado.php

<?php
// chamando a conexão com o banco de dados 
include("conecta.php");

// verificando se veio valores no post
if(isset($_POST))
{
    //recebendo valores do post
    $id = $_POST['id'];
	$aux=  $_POST['acao'];//definindo valor dessa variavel,ref status do botao
	$aux1= 0;//definindo valor dessa variavel,ref status do botao 
	$aux2= 2;//definindo valor dessa variavel,ref status do botao
	$sql  = "SELECT * FROM control  where cod= $id ";//busca nos registros pela chave primaria

	$query = $mysqli->query($sql);//execulta o comando
	//coloca o resultado em uma variavel, enquanto houver ocorrencia
     while ($linha = $query->fetch_array()) {
		 //condicional para troca de status 
		 // se for igual a 0 recebe o valor 1
	   if($linha['liberado']==0){
	          $sql="UPDATE control SET liberado = '$aux'  WHERE cod = '$id'";
				if ($query = $mysqli->query($sql)) {
					exit(mysqli_error());
					 

	
		}
	}
		 // se for igual a 1 recebe o valor 2
		 elseif($linha['liberado']==1){ 
			 $sql="UPDATE control SET liberado = '$aux2'  WHERE cod = '$id'";
				if ($query = $mysqli->query($sql)) {
					exit(mysqli_error());
					   

				}
		
	 }
		  // senao recebe 0
		 else{
			 $sql="UPDATE control SET liberado = '$aux1'  WHERE cod = '$id'";
				if ($query = $mysqli->query($sql)) {
					exit(mysqli_error());
					  

	
		}
	 }
  }
}
?>

Esse e o arquivo que faz o select geral do cadastro, le_registros.php

<?php
	// chamando a conexão com o banco de dados 
	include("conecta.php");

	//construção da tabela 
	$data = '<table class="table table-bordered table-striped">
		      <tr align="center" valign="middle">
                        <th >Codigo</th>
                        <th >Editar</th>
						<th >Razao Social</th>
                        <th >Nome de Fantasia</th>
						<th >Email</th>
                        <th >Liberado</th>
                        <th >Icms</th>
                        <th >Cont</th>
                        <th >XML</th>
                      </tr>';
		;
   
	 $sql  = "SELECT * FROM control  "; //busca no banco de dados todos os registros
     $query = $mysqli->query($sql);    //execulta o sql
       
      //coloca o resultado em uma variavel, enquanto houver ocorrencia
      while ($linha = $query->fetch_array()) {
		   
		     //condição para mudar a cor e estilo do botão mediante a valores encontardo nos idices do banco de dados
		    //com chamadas das funcoes no ajax.js
		   // 1 = verde (ok)
		  //  2 = branco(inativo)
		 //   0 = vermelho (pendente)
		   if ($linha['liberado']== 0){
			   $botao1='<button onclick="mudaliberado('.$linha['cod'].')" class="btn btn-danger glyphicon glyphicon-thumbs-down"> Liberado</button>';
		   }
			  elseif ($linha['liberado']== 2){
				   $botao1='<button onclick="mudaliberado('.$linha['cod'].')" class="btn  btn-default glyphicon glyphicon-lock"> Inativo</button>';
			   }
			else{
				$botao1='<button onclick="mudaliberado('.$linha['cod'].')" class="btn btn-success glyphicon glyphicon-thumbs-up"> Liberado</button>';
			}
		 if ($linha['spedicms']== 0){
			   $botao2='<button onclick="mudaspedicms('.$linha['cod'].')" class="btn btn-danger">ICMS</button>';
		   }
		elseif ($linha['spedicms']== 2){
			   $botao2='<button onclick="mudaspedicms('.$linha['cod'].')" class="btn  btn-default ">ICMS</button>';
		   }
		
		else{
			$botao2='<button onclick="mudaspedicms('.$linha['cod'].')" class="btn btn-success">ICMS</button>';
		}
		 if ($linha['spedcont']== 0){
			   $botao3='<button onclick="mudaspedcont('.$linha['cod'].')" class="btn btn-danger">CONT.</button>';
		   }
		elseif ($linha['spedcont']== 2){
			   $botao3='<button onclick="mudaspedcont('.$linha['cod'].')" class="btn  btn-default ">CONT.</button>';
		   }
		else{
			$botao3='<button onclick="mudaspedcont('.$linha['cod'].')" class="btn btn-success">CONT.</button>';
		}
		 if ($linha['xml']== 0){
			   $botao4='<button onclick="mudaxml('.$linha['cod'].')" class="btn btn-danger">XML</button>';
		   }
		elseif ($linha['xml']== 2){
			   $botao4='<button onclick="mudaxml('.$linha['cod'].')" class="btn  btn-default ">XML</button>';
		   }
		
		else{
			$botao4='<button onclick="mudaxml('.$linha['cod'].')" class="btn btn-success">XML</button>';
		}
        // termina as condicionais----------------------------------------------------------------------------
		  
		  //contrução do resultado
    		$data .= ' <tr  valign="middle">
				<td>'.$linha['cod'].'</td>
				<td>
					<button onclick="GetUserDetails('.$linha['cod'].')" class="btn  btn-default " >
					<p class="glyphicon glyphicon-pencil pos" aria-hidden="true"></p></button>
				</td>
				<td>'.$linha['razao'].'</td>
				<td>'.$linha['nome'].'</td>
				<td>'.$linha['email'].'</td>
				<td>
				    
					'.$botao1.'
				</td>
				<td>
					'.$botao2.'
				</td>
				<td>
					'.$botao3.'
				</td>
				<td>
					'.$botao4.'
				</td>
    		</tr>';
    		
    	}
    
    


    $data .= '</table>';

    echo $data;//imprime a coisa toda na tela
?>

E por ultimo o script do busca.php

<?php
	// chamando a conexão com o banco de dados 
	include("conecta.php");

	//construção da tabela 
	$data = '<table class="table table-bordered table-striped">
		      <tr align="center" valign="middle">
                        <th >Codigo</th>
                        <th >Editar</th>
						<th >Razao Social</th>
                        <th >Nome de Fantasia</th>
						<th >Email</th>
                        <th >Liberado</th>
                        <th >Icms</th>
                        <th >Cont</th>
                        <th >XML</th>
                      </tr>';
		;
   
	 $sql  = "SELECT * FROM control  "; //busca no banco de dados todos os registros
     $query = $mysqli->query($sql);    //execulta o sql
       
      //coloca o resultado em uma variavel, enquanto houver ocorrencia
      while ($linha = $query->fetch_array()) {
		   
		     //condição para mudar a cor e estilo do botão mediante a valores encontardo nos idices do banco de dados
		    //com chamadas das funcoes no ajax.js
		   // 1 = verde (ok)
		  //  2 = branco(inativo)
		 //   0 = vermelho (pendente)
		   if ($linha['liberado']== 0){
			   $botao1='<button onclick="mudaliberado('.$linha['cod'].')" class="btn btn-danger glyphicon glyphicon-thumbs-down"> Liberado</button>';
		   }
			  elseif ($linha['liberado']== 2){
				   $botao1='<button onclick="mudaliberado('.$linha['cod'].')" class="btn  btn-default glyphicon glyphicon-lock"> Inativo</button>';
			   }
			else{
				$botao1='<button onclick="mudaliberado('.$linha['cod'].')" class="btn btn-success glyphicon glyphicon-thumbs-up"> Liberado</button>';
			}
		 if ($linha['spedicms']== 0){
			   $botao2='<button onclick="mudaspedicms('.$linha['cod'].')" class="btn btn-danger">ICMS</button>';
		   }
		elseif ($linha['spedicms']== 2){
			   $botao2='<button onclick="mudaspedicms('.$linha['cod'].')" class="btn  btn-default ">ICMS</button>';
		   }
		
		else{
			$botao2='<button onclick="mudaspedicms('.$linha['cod'].')" class="btn btn-success">ICMS</button>';
		}
		 if ($linha['spedcont']== 0){
			   $botao3='<button onclick="mudaspedcont('.$linha['cod'].')" class="btn btn-danger">CONT.</button>';
		   }
		elseif ($linha['spedcont']== 2){
			   $botao3='<button onclick="mudaspedcont('.$linha['cod'].')" class="btn  btn-default ">CONT.</button>';
		   }
		else{
			$botao3='<button onclick="mudaspedcont('.$linha['cod'].')" class="btn btn-success">CONT.</button>';
		}
		 if ($linha['xml']== 0){
			   $botao4='<button onclick="mudaxml('.$linha['cod'].')" class="btn btn-danger">XML</button>';
		   }
		elseif ($linha['xml']== 2){
			   $botao4='<button onclick="mudaxml('.$linha['cod'].')" class="btn  btn-default ">XML</button>';
		   }
		
		else{
			$botao4='<button onclick="mudaxml('.$linha['cod'].')" class="btn btn-success">XML</button>';
		}
        // termina as condicionais----------------------------------------------------------------------------
		  
		  //contrução do resultado
    		$data .= ' <tr  valign="middle">
				<td>'.$linha['cod'].'</td>
				<td>
					<button onclick="GetUserDetails('.$linha['cod'].')" class="btn  btn-default " >
					<p class="glyphicon glyphicon-pencil pos" aria-hidden="true"></p></button>
				</td>
				<td>'.$linha['razao'].'</td>
				<td>'.$linha['nome'].'</td>
				<td>'.$linha['email'].'</td>
				<td>
				    
					'.$botao1.'
				</td>
				<td>
					'.$botao2.'
				</td>
				<td>
					'.$botao3.'
				</td>
				<td>
					'.$botao4.'
				</td>
    		</tr>';
    		
    	}
    
    


    $data .= '</table>';

    echo $data;//imprime a coisa toda na tela
?>

Essa e a tela de apresentação em anexo

 

Pessoal desde já agradeço imensamente a todos...

tela apresentacao.png

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...