• 0
Sign in to follow this  
jairson.camargo

Ajuda - sistema de busca utilizando CRUD.

Question

 

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

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this