Search the Community

Showing results for tags 'ajax'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 96 results

  1. Estou passando um JSON_ENCODE com a seguinte informação $mensagem = "Lista foi gerada com sucesso!"; echo json_encode(array("rst" => True,"msg" => $mensagem,"arquivo" => $file)); No arquivo do Ajax tenho a seguinte situação jQuery.ajax({ type: "POST", url: "request_cons_preco.php", data: dados, cache: false, beforeSend: function() {; $('#resultConsulta').html("<img src='img/aguarde.gif' />"); }, success: function(e) { $('#resultConsulta').html(e); // var obj = JSON.parse('{"rst":true,"msg":"Lista foi gerada com sucesso!","arquivo":"relXLSX\/303aaf4b13af3afb181c9547c218b40a.xlsx"}'); var obj = JSON.parse(e); if (obj.rst){ $('#resultConsulta').html(obj.msg); setTimeout(function(){ window.location = obj.arquivo; }, 1000); } else { $('#resultConsulta').html(obj.msg); $('#resultConsulta').html("<p>Mensagem de teste</p>"); } }, Escrevendo na tela o valor de 'e' o resultado é: {"rst":true,"msg":"Lista foi gerada com sucesso!","arquivo":"relXLSX\/2634872c028c6c473fa5391735d2768c.xlsx"} Se eu passar dessa forma: var obj = JSON.parse('{"rst":true,"msg":"Lista foi gerada com sucesso!","arquivo":"relXLSX\/303aaf4b13af3afb181c9547c218b40a.xlsx"}'); funciona. Porem preciso que seja assim: var obj = JSON.parse(e) ; dessa forma obj fica sem valor alguém sabe me dizer o porque ? Aguardo retorno e se ficou um pouco confuso me avisem que tento me explicar melhor.
  2. Boa tarde galera, sou meio novo aqui, mas o meu problema é o seguinte, estou carregando os dados de um log.txt utilizando AJAX, porem, gostaria de manipular estes dados para inserir em tabela, então gostaria de saber como posso passar os dados da variável AJAX para uma variável global JavaScript. segue o código. <html> <head> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript"> var data; var temp; temp = 100; var intervalo = window.setInterval(largura, temp); function largura() { var divh = document.getElementById("DataText").offsetHeight; window.scrollBy(0,divh) }; $(function() { setTime(); function setTime() { $("#DataText").load("registro0.txt"); setTimeout(setTime, temp); } }); </script> </head> <body> <table border="1"> <tr> <th>Cabeçalho</th> <th id="data">Outro Cabeçalho</th> <th >Outro Cabeçalho</th> <th>Outro Cabeçalho</th> <th>Outro Cabeçalho</th> </tr> <tr> <td>linha 1, célula 1</td> <td>linha 1, célula 2</td> <td>linha 1, célula 2</td> <td>linha 1, célula 2</td> <td>linha 1, célula 2</td> </tr> <tr> <td>linha 2, célula 1</td> <td>linha 2, célula 2</td> </tr> </table> <div style="width: 200px; font-size: 10px;"></div> </body> </html>
  3. 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...
  4. reignomo

    Script não funciona

    Estou tentando desenvolver um sistema de cadastro e para isso estou utilizando php e ajax, fiz os 2 scripts acredito que corretamente mas não está rodando, alguém consegue identificar algum erro nesses scripts ? Classe <?php class anuncio { private $cd_anuncio; private $dt_criacao; private $nm_titulo; private $ds_anuncio; private $cd_usuario; private $nm_estado; private $nm_cidade; private $nm_bairro; public function anuncio($nm_titulo,$ds_anuncio,$cd_usuario,$nm_estado,$nm_cidade,$nm_bairro) { $this->nm_titulo=$nm_titulo; $this->ds_anuncio=$ds_anuncio; $this->cd_usuario=$cd_usuario; $this->nm_estado=$nm_estado; $this->nm_cidade=$nm_cidade; $this->nm_bairro=$nm_bairro; } public function AddAnuncio() { include("conexao.php"); $query = mysqli_query($conexao,"INSERT INTO tb_anuncio(dt_criacao,nm_titulo,ds_anuncio,cd_usuario,nm_estado,nm_cidade,nm_bairro) VALUES (NOW(),'$this->nm_titulo','$this->ds_anuncio','$this->cd_usuario','$this->nm_estado','$this->nm_cidade','$this->nm_bairro')"); $result = $conexao->query($query); return $result; } public function Ver() { return "data: $this->dt_criacao title: $this->nm_titulo Desc : $this->ds_anuncio CD : $this->cd_usuario ESTADO : '$this->nm_estado CIDADE: $this->nm_cidade Bairro : $this->nm_bairro"; } } ?> php que se comunica com o ajax <?php session_start(); include_once("conexao.php"); include_once("usuario_class.php"); require_once("conexao.php"); $nome = $_POST['nome']; $sobrenome = $_POST['sobrenome']; $email = $_POST['email']; $sexo = $_POST['sexo']; $telefone_fixo = $_POST['telefone']; $telefone_movel = $_POST['celular']; $senha = $_POST['senha']; $verifica = mysqli_query($conexao,"SELECT * FROM tb_usuario WHERE nm_email = '$email' AND cd_senha = '$senha'") or die("erro ao selecionar"); if (mysqli_num_rows($verifica)<=0) { if(isset($_POST['terms'])) { if(isset($nome,$sobrenome,$email,$sexo,$telefone_fixo,$telefone_movel,$senha) AND is_numeric($telefone_fixo) AND is_numeric($telefone_movel)) { $objeto_usu = new usuario($nome,$sobrenome,$telefone_fixo,$telefone_movel,$email,$sexo,$senha); if($objeto_usu->AddUsuario()) { // retornando ao sucesso no registro echo"rodou"; } } else{ // retornando ao ajax dados inválidos echo"3"; } } else{ // retornando ao ajax checkd false echo"2"; } } else{ // retornando ao ajax email já cadastrado echo"1"; } ?> Script ajax <script> $(function(){ var url = '../ibico/php/insere_usuario.php'; function carregando() { $('.loadCadastro').fadeIn('slow'); } $('.cadastroUsuario').submit(function(){ var dados = $(this).serialize(); $.ajax({ url:url, type: 'POST', data: dados, beforeSend: carregando, success: function(retorno){ if(retorno==1) { $('.emailCadastrado').html("Email já cadastrado !"); $('.loadCadastro').fadeOut('slow'); } else if (retorno==2) { $('.emailCadastrado').html("É preciso aceitar os termos para continuar !"); $('.loadCadastro').fadeOut('slow'); } else if (retorno==3) { $('.emailCadastrado').html("Preencha apenas números nos campos telefone e celular"); $('.loadCadastro').fadeOut('slow'); } else { $('.emailCadastrado').html(""); alert("Cadastro realizado com sucesso !"); window.location.href ="index.html"; } // alert(retorno); // window.location.href ="index.html#modalentrar"; } }); return false; }); }); </script> Quando executo o código ocorreu tudo normalmente como se tivesse sucesso no insert, passa até nas validações que coloquei, porém verifico no banco e nada ocorreu. Caso essa seja área errada para postar essa pergunta peço desculpas sou novo no fórum.
  5. Fala pessoal, eu desenvolvi um site de pesquisa de endereços e estou com um problema agora que é o seguinte. Eu exibo uma lista usando ajax vindo do html pro php, dentro do php eu inseri nas linhas da lista dois botões, um para excluir aquela linha e outro caso o usuario(admin) deseje atualizar, mudar aquela linha. Segue o site abaixo:
  6. Possuo um formulário em html que é separado em 4 passos, porém no primeiro passo quando o usuário clicar em "Próximo eu preciso que seja enviado sem que ele perceba o e-mail dos dados inseridos, e assim continuar os próximos passos com o preenchimento com os demais dados. Como eu faço para fazer esse envio sem que ele perceba ou que a página seja redirecionada após o envio? <div class="form-group"> <input id="texto nomeform1" minlength="5" type="text" class="form-control" name="nome" placeholder="Nome Completo*"> </div> <div class="form-group"> <input id="texto" type="email" class="form-control" name="email" placeholder="Email Válido*"> </div> <div class="form-group"> <input type="text" class="form-control" id="celular" name="celular" placeholder="Telefone"> </div> <div class="form-group"> <input type="text" class="form-control" name="sobre" placeholder="Como ficou sabendo sobre festas?"> </div> <button type="button" name="usrSubmit" class="next action-button enviar_email" id="proximo" disabled value="Próximo"> Próximo</button>
  7. $('#cpfcomprador').blur(function() { $.ajax({ url: 'validar', type: 'POST', cache: false, data: 'cpf='+$("#cpfcomprador").val(), success: function(cpfok){ if (cpfok == true) { $('#myModal').modal('show'); } else { alert(cpfok) } } }); }); Mesmo quando ‘cpfok = true’ sempre cai na condição “else” e mostra o alerta e não o modal.Aqui esta o retornos quando ‘cpfok = true’ , neste caso teria que ir para o modal:
  8. Fala pessoal to travado aqui com isso, carrego o conteudo de uma pagina com varios painéis através desse js, e cada painel tem seu botão de refresh para recarregar o conteudo desses painéis que são gráficos. Em um primeiro momento alguns deles vão ter um refresh automático, porém preciso dar o também através desse botão, enfim, to conseguindo isso em partes, mas ainda não cheguei no resultado que quero. Agora quando clico no botão pra atualizar ele recarrega a pagina toda dentro da div certa, mas preciso que só a div recarregue novamente. $(document).ready(function () { //================================================== MONTAGEM DA ESTRUTURA HTML function Lin(conteudo) { return "<div class='row scRow'>" + conteudo + "</div>"; } function Col(colunas, conteudo) { return "<div class='col-md-" + colunas + " scCol'>" + conteudo + "</div>"; } function GetHtmlBox(codigo, titulo, chave, tipo) { var htmlbox = "<div class='panel panel-default' id='" + chave + "' codigo=" + codigo + ">" + " <div class='panel-heading'>" + " <div class='panel-title-box'>" + " <h3>" + titulo + "</h3>" + " </div>" + " <ul class='panel-controls'>" + " <li><a href='#' class='panel-fullscreen'><span class='fa fa-expand'></span></a></li>" + " <li><a href='#' class='recarrega'><span class='fa fa-refresh'></span></a></li>" + //" <li class='dropdown'>" + //" <a href='#' class='dropdown-toggle' data-toggle='dropdown'><span class='fa fa-cog'></span></a>" + //" <ul class='dropdown-menu'>" + //" <li><a href='#' class='panel-refresh'><span class='fa fa-refresh'></span> Refresh</a></li>" + //" </ul>" + //" </li>" + //" <li><a href='#' class='panel-remove'><span class='fa fa-times'></span></a></li>" + " </ul>" + " </div>" + " <div class='panel-body panel-body-table " + chave + "' id='body_" + codigo + "'>"; htmlbox = htmlbox + " </div>" + " </div> "; return htmlbox; } //================================================== ESTRUTURA DOS gráficos COM TABELA function ObterTabelaHtml(array, linhas) { var contLinha = 0; var contColuna = 0; var html = ""; //linhas $.each(array, function (linha, registro) { contLinha++; if (contLinha == 1) { html = html + "<div class='table-responsive'><table class='table table-bordered table-striped listaTop'><tbody>"; } html = html + "<tr>"; html = html + "<td><span class='celula' style='background-color: #" + registro[2] + "; color: #" + registro[3] + "'>" + registro[0] + "</span></td>"; html = html + "<td><span class='celula' style='background-color: #" + registro[2] + "; color: #" + registro[3] + "'>" + registro[1] + "</span></td>"; html = html + "</tr>"; if (contLinha == linhas || contLinha == array.length) { html = html + "</tbody></table></div>"; contLinha = 0; } }); return html; } //** //================================================== ESTRUTURA E TIPOS DE gráficos function ObterConteudo(painel, conteudo) { var id = ""; var html = ""; var codigo = painel["codigo"]; var tipo = painel["tipo"]; id = "#divPainel div[codigo=" + painel["codigo"] + "] .panel-body"; $(id).empty(); panel_refresh($(id)); $(id).attr("style", "height: 200px;"); switch (tipo) { //================================================== TABELA FIXA case 1: var idDiv = "divTableCodigo_" + codigo; html = ObterTabelaHtml(conteudo, 5); html = "<div id='" + idDiv + "'>" + html + "</div>"; $(id).append(html); if (codigo == 4) { $("#" + idDiv).owlCarousel({ items: 3, mouseDrag: true, touchDrag: true, slideSpeed: 300, paginationSpeed: 400, singleItem: false, navigation: false, autoPlay: true }); } if (codigo == 3) { $("#" + idDiv).owlCarousel({ items: 1, mouseDrag: false, touchDrag: false, slideSpeed: 300, paginationSpeed: 400, singleItem: true, navigation: false, autoPlay: false }); } if (codigo == 8) { $("#" + idDiv).owlCarousel({ items: 1, mouseDrag: true, touchDrag: true, slideSpeed: 300, paginationSpeed: 400, singleItem: false, navigation: false, autoPlay: true }); } break; //================================================== GRAFICO ROSCA case 2: Morris.Donut({ element: $(id), data: conteudo, colors: ['#A6D969', '#542688', '#A12235', '#EDD3F2', '#33414E', '#DA3610', '#33414E', '#8DCA35', '#00BFDD', '#FF702A', '#DA3610', '#80CDC2', '#A6D969', '#D9EF8B', '#FFFF99', '#F7EC37', '#F46D43', '#E08215', '#D73026', '#A12235', '#8C510A', '#14514B', '#4D9220', '#542688', '#4575B4', '#74ACD1', '#B8E1DE', '#FEE0B6', '#FDB863', '#C51B7D', '#DE77AE', '#EDD3F2'], resize: true }); break; //================================================== GRAFICO BARRAS DUPLAS case 3: Morris.Bar({ element: $(id), data: conteudo, xkey: 'y', ykeys: ['a', 'b'], labels: ['Venda', 'Custo'], barColors: ['#33414E', '#1caf9a'], gridTextSize: '10px', hideHover: true, resize: true, gridLineColor: '#E5E5E5' }); break; //================================================== GRAFICO LINHA case 4: Morris.Line({ element: $(id), data: conteudo, xkey: 'y', ykeys: 'a', labels: ['Vendas'], resize: true, hideHover: true, xLabels: 'day', gridTextSize: '10px', lineColors: ['#33414E'], gridLineColor: '#E5E5E5' }); break; //================================================== GRAFICO BARRAS VAZADAS case 5: var idSvg = "svgCodigo_" + codigo; $(id).append("<svg id='" + idSvg + "'></svg>") var nvd3Charts = function () { var myColors = ["#33414E", "#8DCA35", "#00BFDD", "#FF702A", "#DA3610", "#80CDC2", "#A6D969", "#D9EF8B", "#FFFF99", "#F7EC37", "#F46D43", "#E08215", "#D73026", "#A12235", "#8C510A", "#14514B", "#4D9220", "#542688", "#4575B4", "#74ACD1", "#B8E1DE", "#FEE0B6", "#FDB863", "#C51B7D", "#DE77AE", "#EDD3F2"]; d3.scale.myColors = function () { return d3.scale.ordinal().range(myColors); }; var startChart4 = function () { nv.addGraph(function () { var chart = nv.models.discreteBarChart().x(function (d) { return d.label; })//Specify the data accessors. .y(function (d) { return d.value; }).staggerLabels(true)//Too many bars and not enough room? Try staggering labels. .tooltips(false)//Don't show tooltips .showValues(true)//...instead, show the bar value right on top of each bar. .transitionDuration(350) .color(d3.scale.myColors().range());; d3.select("#" + idSvg).datum(exampleData()).call(chart); nv.utils.windowResize(chart.update); return chart; }); //Each bar represents a single discrete quantity. function exampleData() { return [{ key: "Cumulative Return", values: conteudo }]; } }; return { init: function () { startChart4(); } }; }(); nvd3Charts.init(); break; //*** } panel_refresh($(id)); } //**** //================================================== DEFINE A ESTRUTURA DE MONTAGEM DOS PAINEIS var painel; function CarregarPaineis() { painel = [ [ { codigo: 1, tit: "Faturamento Dia", col: 12, tempo: 0, tipo: 4 } ], [ { codigo: 2, tit: "Conversão", col: 2, tempo: 0, tipo: 2 }, { codigo: 6, tit: "Meta", col: 3, tempo: 0, tipo: 5 }, { codigo: 4, tit: "Vendas por loja", col: 7, tempo: 0, tipo: 1 } ], [ { codigo: 3, tit: "Indicadores", col: 3, tempo: 0, tipo: 1 }, { codigo: 7, tit: "Crescimento", col: 5, tempo: 0, tipo: 3 }, { codigo: 8, tit: "Top Vendedores", col: 2, tempo: 0, tipo: 1 }, { codigo: 9, tit: "Vendas por Linha", col: 2, tempo: 0, tipo: 2 } ] ]; //Linhas $.each(painel, function (linha, colunas) { var htmlCols = ""; //Colunas $.each(colunas, function (coluna, painel) { htmlCols = htmlCols + Col(painel["col"], GetHtmlBox( painel["codigo"], painel["tit"], "divPainel_" + (linha + 1) + "_" + (coluna + 1), painel["tipo"] )); }); //Carrega estrutura box $("#divPainel").append(Lin(htmlCols)); //Carrega conteudo $.each(colunas, function (coluna, painel) { var tipo = painel["tipo"]; var dados = BaixarDados(painel); ObterConteudo(painel, dados); //Carrega agendamento if (painel["tempo"] > 0) { var timPainel = setInterval(function () { var dados = BaixarDados(painel); ObterConteudo(painel, dados); }, painel["tempo"] * 1000); } }); }); } //================================================== CONTEUDO CONSUMIDO NOS gráficos DE ACORDO COM O TIPO function BaixarDados(painel) { var codigo = painel["codigo"]; var conteudo; switch (codigo) { case 1: conteudo = [ { y: '2016-02-01', a: 2000 }, { y: '2016-02-02', a: 1700 }, { y: '2016-02-03', a: 2500 }, { y: '2016-02-04', a: 4500 }, { y: '2016-02-05', a: 2500 }, { y: '2016-02-06', a: 3500 }, { y: '2016-02-07', a: 4500 }, { y: '2016-02-08', a: 1500 }, { y: '2016-02-09', a: 2500 }, { y: '2016-02-10', a: 3500 }, { y: '2016-02-11', a: 2500 }, { y: '2016-02-12', a: 3200 }, { y: '2016-02-13', a: 1800 }, { y: '2016-02-14', a: 4000 }, { y: '2016-02-15', a: 3500 }, { y: '2016-02-16', a: 2000 }, { y: '2016-02-17', a: 5000 } ]; break; case 2: conteudo = [ { label: "Compraram", value: 150 }, { label: "Visitaram", value: 80 } ]; break; case 3: conteudo = [ ["Valor total Venda", "15.100,00", "FFFFFF", "000000"], ["Markup", "2.5", "FFFFFF", "000000"], ["Ticket Médio", "R$ 350,00", "FFFFFF", "000000"], ["Peças Atendimento", "4", "FFFFFF", "000000"], ["Quantidade Vendida", "2.500", "FFFFFF", "000000"] ]; break; case 4: conteudo = [ ["W015 - LOJA 015", "54.100,00", "00CC00", "FFFFFF"], ["W020 - LOJA 020", "44.054,70", "00CC00", "FFFFFF"], ["W050 - LOJA 050", "23.830,00", "FFFFFF", "000000"], ["W100 - LOJA 100", "63.500,00", "00CC00", "FFFFFF"], ["W230 - LOJA 230", "93.450,00", "FF0000", "FFFFFF"], ["W011 - LOJA 011", "54.100,00", "FFFF00", "000000"], ["W002 - LOJA 002", "34.054,70", "FFFFFF", "000000"], ["W250 - LOJA 250", "23.830,00", "FFFF00", "000000"], ["W112 - LOJA 112", "13.500,00", "FFFF00", "000000"], ["W030 - LOJA 030", "53.450,00", "FFFF00", "000000"], ["W045 - LOJA 045", "34.100,00", "FFFFFF", "000000"], ["W050 - LOJA 050", "64.054,70", "FF0000", "FFFFFF"], ["W065 - LOJA 065", "33.830,00", "00CC00", "FFFFFF"], ["W042 - LOJA 042", "13.500,00", "00CC00", "FFFFFF"], ["W081 - LOJA 081", "43.450,00", "00CC00", "FFFFFF"], ["W093 - LOJA 093", "84.100,00", "00CC00", "FFFFFF"], ["W023 - LOJA 023", "74.054,70", "FFFFFF", "000000"], ["W077 - LOJA 077", "63.830,00", "00CC00", "FFFFFF"], ["W154 - LOJA 154", "53.500,00", "00CC00", "FFFFFF"], ["W221 - LOJA 221", "83.450,00", "FF0000", "FFFFFF"], ["W016 - LOJA 016", "54.100,00", "00CC00", "FFFFFF"], ["W023 - LOJA 023", "44.054,70", "FFFFFF", "000000"], ["W012 - LOJA 012", "33.830,00", "00CC00", "FFFFFF"], ["W005 - LOJA 005", "23.500,00", "00CC00", "FFFFFF"], ["W111 - LOJA 111", "53.450,00", "00CC00", "FFFFFF"] ]; break; case 5: conteudo = [ { y: 'Out 10', a: Math.random(), b: Math.random() }, { y: 'Oct 11', a: Math.random(), b: Math.random() }, { y: 'Oct 12', a: Math.random(), b: Math.random() }, { y: 'xxx 13', a: Math.random(), b: Math.random() }, { y: 'Oct 14', a: Math.random(), b: Math.random() }, { y: 'Oct 15', a: Math.random(), b: Math.random() }, { y: 'Set 16', a: Math.random(), b: Math.random() } ]; break; case 6: conteudo = [{ "label": "Norte", "value": -29.76 }, { "label": "Sul", "value": 50 }, { "label": "Centro-Oeste", "value": -10 }, { "label": "Nordeste", "value": 30 }, { "label": "Sudeste", "value": 80 } ]; break; case 7: conteudo = [ { y: 'Ago/15', a: 80, b: 70 }, { y: 'Set/15', a: 55, b: 60 }, { y: 'Out/15', a: 65, b: 40 }, { y: 'Nov/15', a: 82, b: 80 }, { y: 'Dez/15', a: 95, b: 80 }, { y: 'Jan/16', a: 40, b: 35 } ]; break; case 8: conteudo = [ ["Jonas Alencar Silva", "4.100,00", "00CC00", "FFFFFF"], ["Patricia Marcela Carvalho", "4.054,70", "00CC00", "FFFFFF"], ["Priscila Rodrigues Santos", "3.830,00", "00CC00", "FFFFFF"], ["Bruan Denise Nunes", "3.500,00", "00CC00", "FFFFFF"], ["Martilene de Oliveira", "3.450,00", "FFFF00", "000000"], ["Fernanda Souza", "2.500,00", "FFFF00", "000000"], ["Luciana Marques Brito", "2.005,60", "FFFF00", "000000"], ["Fabiana Carolina Machado", "1.891,00", "FFFF00", "000000"], ["Andressa Graça Silva", "1.750,00", "FFFF00", "000000"], ["Eliane Gleice Dantas", "1.500,00", "FFFFFF", "000000"], ["Ednea Monteiro Matos", "1.321,00", "FFFFFF", "000000"], ["Lidiane Lopes Prado", "900,00", "FFFFFF", "000000"] ]; break; case 9: conteudo = [ { label: "Calçado", value: 1200 }, { label: "Casual", value: 4000 }, { label: "Cosmético", value: 500 }, { label: "Acessórios", value: 2400 }, { label: "Outros", value: 900 } ]; break; } return conteudo; } //* CarregarPaineis(); $(".recarrega").on("click", function () { let id = ($(this).parents('.panel-default').attr('id')); let cod = ($(this).parents('.panel-default').attr('codigo')); Log(id); Log(cod); $('#' + id).load('Home'); }); });
  9. Olá senhores... preciso de ajuda, como faço pra ler uma variável que esta em um XML assim: <xml> <status> 0 </status> ou <status> 1 </status> ou <status> true </status> ou <status> false </status> e colocar em um IF.... tipo: function lerStatus() { if statusmsg=xmlDoc.getElementsByTagName('status')[0].firstChild.nodeValue; // se for true ou false... ou 0 ou 1.... faça algo; } Agradeço qualquer ajuda, obrigado.
  10. Estou montando um Painel para acompanhamento de tickets, nele existem basicamente dois elementos, 4 campos e 1 gráfico. Gostaria de atualiza-los periodicamente, tentei com: <meta http-equiv="refresh" content="10" /> No entanto, isso recarrega toda a página, gerando aquela famosa piscada. O que eu preciso é recarregar os campos e o gráfico sem esse refresh (piscada). Pelo que encontrei na internet, posso fazer isso com o AJAX, porém não sei como, ainda estou iniciando com o desenvolvimento. Para não ficar um código muito grande, a seguir segue minha página com apenas 1 campo, e o gráfico: @using System.Data @model DataSet @{ ViewBag.Title = "Home Page";} <!-- container-fluid --> <div class="container-fluid"> <!-- Page Heading --> <div class="row"> <div class="col-lg-12"> <h2 class="page-header"> Tickets AGP </h2> </div> </div> <!-- /Page Heading --> <!-- Campos --> <div class="row"> <div class="col-lg-3 col-md-6"> <div class="panel panel-danger"> <div class="panel-heading"> <div class="row"> <div class="col-xs-3"> <i class="fa fa-tasks fa-5x"></i> </div> <div class="col-xs-9 text-right"> <div class="huge"> @foreach (DataRow row in Model.Tables[1].Rows) { if (@row["status"].Equals("Aberto - Aguardando Aprovação")) { @row["quantidade_status"] } } </div> <div>Aguardando Aprovação</div> </div> </div> </div> </div> </div> </div> <!-- /Campos --> <!-- Gráficos Morris Charts --> <div class="row"> <div class="col-lg-6"> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-long-arrow-right"></i> Atendimento AGP</h3> </div> <div class="panel-body"> <div id="morris-bar-agp"></div> </div> </div> </div> </div> </div> <!-- /container-fluid --> @section scripts { <!-- Script que carrega as informacoes do grafico--> <script> $(document).ready(function (){ $.get('@Url.Action("GetData", "Home")', function (data) { console.log(data); Morris.Bar({ element: 'morris-bar-agp', xkey: 'admAtribuido', ykeys: ['quantidade_admAtribuido'], labels: ['Tickets Atendidos'], barRatio: 0.4, xLabelAngle: 10, gridTextSize: 12, gridTextColor: '#000', hideHover: 'auto', resize: true, data: data }); $(window).trigger('resize'); $('svg').height(650); }); }); </script> } Segue o Action GetData(), que envia os dados para montar o gráfico, acredito que a query não seja importante nesse caso, então coloquei essa genérica aí, porque a minha é muito grande: [HttpGet] public JsonResult GetData() { DataSet ds = new DataSet(); using (SqlConnection con = new SqlConnection("Data Source=xxx.xx.xxx.xxx;Initial Catalog=XXX;User ID=xxxxxx;Password=xxxxx")) { string query = select * from table using (SqlCommand cmd = new SqlCommand(query)) { cmd.Connection = con; using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) { sda.Fill(ds); } } var json = Newtonsoft.Json.JsonConvert.SerializeObject(ds.Tables[2]); var obj = Newtonsoft.Json.JsonConvert.DeserializeObject(json, (new[] { new { admAtribuido = "", quantidade_admAtribuido = 0 } }).GetType()); return Json(obj, JsonRequestBehavior.AllowGet); } } Segue a Action Index() que envia os dados dos campos para serem recuperados na View: public ActionResult Index() { DataSet ds = new DataSet(); using (SqlConnection con = new SqlConnection("Data Source=xxx.xx.xxx.xxx;Initial Catalog=XXX;User ID=xxxxxx;Password=xxxxxx")) { query select * from table using (SqlCommand cmd = new SqlCommand(query)) { cmd.Connection = con; using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) { sda.Fill(ds); } } } return View(ds); }
  11. Boa tarde, fiz um site que realiza o login via ajax e php , porem na pagina principal , preciso recuperar a id do login salvo na sessao do php. verifiquei que existe a sessao porem a mesma fica vazia ao utilizar ajax index.html javascript <script type="text/javascript"> $(document).ready(function(){ //Quando 'btnEntrar' for clicado $("#btnEntrar").click(function(){ //Envia por POST para a página login.php: usuario = valor da textbox usuario //e senha = valor da textbox senha (pegando valores pelo ID) var envio = $.post("login.php", { usuario: $("#usuario").val(), senha: $("#senha").val() }) //Se achou a página, exiba o resultado no elemento com ID resultado envio.done(function(data) { $("#resultado").html(data); }) //Se envio falhar envio.fail(function() { alert("Erro na requisição post"); }) }); return false; }); </script> pagina login.php <?php session_start(); header("Access-Control-Allow-Origin: *"); $usuario = isset($_POST['usuario']) ? $_POST['usuario'] : null; $senha = isset($_POST['senha']) ? $_POST['senha'] : null; //$senha =md5($senha,false) ; logar($usuario,$senha); session_start(); function logar($usuario, $senha){ include("conecta.php"); $query =("select id from cliente where senha='$senha' and substring (email, 0, CHARINDEX('@', email) )='$usuario' and situacao='A'"); $rs = $conn->Execute($query); if(!$rs->EOF){ $id_nrousr =$rs->Fields("id")->value; include 'session.class.php'; $ses = new Session; // iniciando a sessao $ses->start(); // tempo de sessao com 3600 seg. (1 hora) $ses->init(3600); // inserindo uma informação adicional na sessao $ses->addNode('id',$id_nrousr); $_SESSION["usuario"] = $id_nrousr; echo " <script type='text/javascript'>window.location = 'principal.html</script>"; } else{ echo " <script>alert('senha ou usuario invalido')</script> "; } } ?> faltou recuperacao da sessao <?php header("Content-Type: text/html; charset=ISO-8859-1", true); header("Access-Control-Allow-Origin: *"); setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese'); date_default_timezone_set('America/Bahia'); include 'session.class.php'; $ses = new Session; // iniiando a sessao $ses->start(); // checando a sessao if(!$ses->check()) { // imprimindo mensagem de status echo $ses->status(); echo "<script type='text/javascript'>location.href='index.html';</script>"; }else { $ses->init(3600); $id_nrousr =$ses->getNode('id');} ?> faltou recuperacao da sessao <?php header("Content-Type: text/html; charset=ISO-8859-1", true); header("Access-Control-Allow-Origin: *"); setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese'); date_default_timezone_set('America/Bahia'); include 'session.class.php'; $ses = new Session; // iniiando a sessao $ses->start(); // checando a sessao if(!$ses->check()) { // imprimindo mensagem de status echo $ses->status(); echo "<script type='text/javascript'>location.href='index.html';</script>"; }else { $ses->init(3600); $id_nrousr =$ses->getNode('id');} ?>
  12. Nunca trabalhei com ajax. Biblioteca ou framework de ajax para utilizar com php qual vocês estão utilizando ? Qual a mais fácil de aprender ?
  13. Boa noite pessoal, sou iniciante em ajax, comecei a estudar esse semana, estou com uma duvida em relação a mostrar os dados com ajax, já fiz a programação em mysql, php e já estou chamando com ajax (mas não sei se estou fazendo isso do jeito certo), estou usando a função setInterval para chamar o ajax a casa 5 segundos, porem não é o que eu preciso, eu gostaria de saber se tem um outro jeito de atualizar a pagina sempre que houver alterações no banco de dados, Deixe-me explicar melhor, estou desenvolvendo um sistema de suporte online, onde o usuario se cadastra e pode criar um tópico, e é ai que estou tendo problemas, eu qro que assim que um novo tópico for criado a função do ajax seja chamada para mostrar as informações para a pessoa que administra o sistema, atualizando a tabela de topicos do sistema, do jeito que eu fiz ele é chamada a cada 5 segundos, mas vejo que isso é desnecessario. alguém saberia como me ajudar?
  14. Boa tarde galera, sou novo usando ajax e estou tentando usar ajax para atualizar a página a cada inserção de novo registro no banco. Mas meu código esta atualizando infinitamente. O que eu fiz de errado. O primeiro código é o html com ajax e o segundo a consulta que fiz no banco. Alguém pode me ajudar? <!DOCTYPE html> <html lang="pt-br"> <head> <link rel="stylesheet" href="lanchescss.css"/> <meta charset="utf-8"> <title>Lista de Pedidos</title> <script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script src="ajax.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> </head> <body> <div class="grid-container"> <div id = "db"> </div> </div> <script type="text/javascript"> $(document).ready(function(){ $('#db').empty(); setInterval(function(){ $.ajax({ type:'post', dataType: 'json', url: 'pedb.php', success: function(dados){ for(var i=0;dados.length>i;i++){ var d = $('#db'); d.append('<p> Pedido: '+dados[i].id+'</p>'); d.append('<p> Hambúrguer Pedido: '+dados[i].hamb+'</p>'); d.append('<p> Observação: '+dados[i].obs+'</p>'); } } }); }, 1000); }); </script> </body> </html> ?php $con = new mysqli("localhost", "root", "", "lanche"); if (mysqli_connect_errno()) trigger_error(mysqli_connect_error()); $qryLista = mysqli_query($con, "SELECT *FROM pedido WHERE DATE(NOW())"); while($resultado = mysqli_fetch_assoc($qryLista)){ $vetor[] = array_map('utf8_encode', $resultado); } echo json_encode($vetor); ?>
  15. beleza "Jedais"! $.ajax({ type: "POST", url: 'cadastro-usuario-controller.php', ... ... ... O arquivo 'cadastro-usuario-controller.php' é onde é passado os valores pelo ajax. O arquivo que implementa o ajax esta no diretório 'cadastro', apenas funciona se o arquivo 'cadastro-usuario-controller.php' estiver no diretório raiz do projeto, ou seja, fora do diretório 'cadastro', mas quero que ele esteja também no diretório 'cadastro'. Resumindo, quero que o arquivo que implementa o ajax e o arquivo 'cadastro-usuario-controller.php' fiquem no mesmo diretório. Já tentei 'cadastro/cadastro-usuario-controller.php' dentre outras coisas e nada. Alguém pode ajudar? Desde já agradeço. EDITADO: Meu erro estava em outra parte, desconsiderem o tópico, desculpe-me.
  16. beleza "Jedais"! $.ajax({ type: "POST", url: 'cadastro-usuario-controller.php', ... ... ... O arquivo 'cadastro-usuario-controller.php' é onde é passado os valores pelo ajax. O arquivo que implementa o ajax esta no diretório 'cadastro', apenas funciona se o arquivo 'cadastro-usuario-controller.php' estiver no diretório raiz do projeto, ou seja, fora do diretório 'cadastro', mas quero que ele esteja também no diretório 'cadastro'. Resumindo, quero que o arquivo que implementa o ajax e o arquivo 'cadastro-usuario-controller.php' fiquem no mesmo diretório. Já tentei 'cadastro/cadastro-usuario-controller.php' dentre outras coisas e nada. Alguém pode ajudar? Desde já agradeço. EDITADO Meu erro estava em outra parte, desconsiderem o tópico, desculpe-me.
  17. Pessoal, preciso da ajuda de vocês. Eu estou fazendo um projeto para o meu TCC e me deparei com o seguinte problema: tenho uma página denominada localidade que possui os campos nome da localidade (nome_local) e cidade (cidade_id). O campo nome nome_local eu preencho manualmente e o campo cidade_id eu busco de uma tabela html de onde eu posso selecionar. No input, deve aparecer o nome da cidade, mas na hora de gravar no banco, tenho que enviar o id (daí usei um input hidden). O fato é que a tabela html de cidade está na rota das cidades (http://jothar.tcc.sistema/cidade/pesquisaCidade/) e a página que chama a pesquisa está na rota de localidades (http://jothar.tcc.sistema/localidade/cadastro). A tabela com a relação das cidades é chamada por meio de um button que tem a url da tabela de pesquisa de cidades. Do jeito que eu fiz, funciona a pesquisa, ou seja, eu clico em pesquisar cidade (na página localidade) e a página pesquisaCidade é carregada (http://jothar.tcc.sistema/cidade/pesquisaCidade/), ao clicar no botão selecionar na linha da cidade escolhida, é passado o id da cidade por meio da url (http://jothar.tcc.sistema/localidade/cidade/id) e é preenchida no campo, mas o que eu digitei no campo nome_local vem vazio. Eu sei que isso ocorre porque só pelo fato de eu chamar novamente a localidade (view na rota) a página é renderizada, mas também ela vim com uma url diferente. Em pesquisas por aí, dizem para eu usar Ajax, mas eu não sei praticamente nada de Ajax. Alguém poderia por gentileza demonstrar algo em ajax que resolvesse o problema, ou uma referência onde eu pudesse encontrar a solução (estou sem tempo de estudar o Ajax com cuidado)? Obs.: uso o Laravel e posso postar o código, caso julguem necessário Desde de já agradeço!
  18. Olá galera tudo beleza, não sei se estou no lugar certo, porem segue a dúvida... Seguinte estou fazendo um DeliveryOnline e estou parado no carrinho de compras. Toda vez que o usuário clicar em adicionar o produto no carrinho, então ele poderá acrescentar ou retirar a quantidade devida que ele quer do referido produto. <input type="number" name="addQdade"> ok e Tenho <script> $(document).ready(function(){ $("input[name='addQdade']").click(function(){ var addQdade = $(this).val(); var idProd = $(this).val(); $.ajax({ type:"POST", data:{'addQdade': addQdade, 'idProd': idProd}, url:"http://site/classes/add-item.php, success:function(data){ $('#resultItem').html(data); } }); }); }); </script> Então em tese toda vez que o usuário clicar no input type="number" pra escolha a quantidade será ativado esta função que irá pegar esses parametros enviar para a pagina add-item.php lá é claro que eu pego esses dados e salvo no banco de dados para atualizar o carrinho, porém não consigo fazer ele pegar os 2 parametros ele pega somente a quantidade certinho, só que o idProd ele não pega. alguém tem alguma idém de como fazer isso funcionar
  19. Olá galera tudo beleza, não sei se estou no lugar certo, porem segue a dúvida... Seguinte estou fazendo um DeliveryOnline e estou parado no carrinho de compras. Toda vez que o usuário clicar em adicionar o produto no carrinho, então ele poderá acrescentar ou retirar a quantidade devida que ele quer do referido produto. <input type="number" name="addQdade"> ok e Tenho <script> $(document).ready(function(){ $("input[name='addQdade']").click(function(){ var addQdade = $(this).val(); var idProd = $(this).val(); $.ajax({ type:"POST", data:{'addQdade': addQdade, 'idProd': idProd}, url:"http://site/classes/add-item.php, success:function(data){ $('#resultItem').html(data); } }); }); }); </script> Então em tese toda vez que o usuário clicar no input type="number" pra escolha a quantidade será ativado esta função que irá pegar esses parametros enviar para a pagina add-item.php lá é claro que eu pego esses dados e salvo no banco de dados para atualizar o carrinho, porém não consigo fazer ele pegar os 2 parametros ele pega somente a quantidade certinho, só que o idProd ele não pega. alguém tem alguma idém de como fazer isso funcionar
  20. Bom Dia ! Estou com uma dificuldade com um código que estou montando em php para buscar uma lista suspensa a partir de outra lista suspensa. Usando Ajax e xml. Exemplo: Tenho no banco de dados 2 grupos de despesas, 2 despesas e 1 funcionário. Quero que ao selecionar 1 grupo de despesas na lista suspensa eu veja apenas as despesas vinculadas aquele grupo em outra lista suspensa. Assim como quero ver os funcionários cadastrados em uma terceira lista suspensa caso o grupo de despesas esteja vinculado a funcionários também. Bom o que está ocorrendo é que ao selecionar um grupo de despesas a lista suspensa das despesas fica sempre em branco, porém a lista suspensas de funcionários está funcionando corretamente, aparecendo os funcionários sempre que seleciono o grupo de despesas vinculado a funcionários. Coloquei um comentário no código que quando escrevo o código do grupo direto na programação tudo funciona. Como se me indicasse que o problema está na variável que busca o código do grupo, mas não consigo acertar. Abaixo o Código do Ajax: <html> <script type="text/javascript"> var linhas = "<?php echo $conv_desp_rec?>"; var linhasv = "<?php echo $linhasv?>"; var id_empresa = "<?php echo $id_empresa?>"; for(i=0 ; i < linhas ; i++){ function buscar_desp_func(i){ var nm_grdespesa = $('#grdesp'+i).val(); var nm_grdespesa_vinculo = <?php if($linhasv > 1){ for($v=1 ; $v < $linhasv ; $v++){ echo"['$grdespesa_vinculo[0]','$grdespesa_vinculo[$v]'];"; } }elseif($linhasv == 1){ for($v=0 ; $v < $linhasv ; $v++){ echo"['$grdespesa_vinculo[0]'];"; } }elseif($linhasv == 0){ echo"['000000'];"; } ?> if(nm_grdespesa){ var url_1 = 'xml/despesas_ajax.php?nm_grdespesa='+nm_grdespesa+'&linha='+i+'&id_empresa='+id_empresa; //não está funcionando essa busca, assim funcionou->'xml/despesas_ajax.php?nm_grdespesa=29&linha='+i+'&id_empresa='+id_empresa; $.get(url_1, function(dataReturn) { $('#load_desp'+i).html(dataReturn); }); } for(v=0 ; v < linhasv ; v++){ if(nm_grdespesa == nm_grdespesa_vinculo[v]){ var url = 'xml/funcionarios_ajax.php?linha='+i+'&id_empresa='+id_empresa; $.get(url, function(dataReturn) { $('#load_func'+i).html(dataReturn); }); }else{ var url = 'xml/funcionarios_ajax_vazio.php?linha='+i; $.get(url, function(dataReturn) { $('#load_func'+i).html(dataReturn); }); } } } } </script> </html> E abaixo o código das listas suspensas: <html> <?php include('conexao.php'); $sql9 = "select * from tb_grdespesa where id_empresa='$id_empresa'"; //$sql10 = "select nm_despesa from tb_despesa where id_empresa='$id_empresa'"; $sql11 = "select ds_nome_func from tb_func where id_empresa='$id_empresa'"; $resultado_nm_grdesp = mysql_query($sql9,$conexao) or die(mysql_error($conexao)); //$resultado_nm_desp = mysql_query($sql10,$conexao) // or die(mysql_error($conexao)); $resultado_nm_func = mysql_query($sql11,$conexao) or die(mysql_error($conexao)); $linhas9 = mysql_num_rows($resultado_nm_grdesp); //$linhas10 = mysql_num_rows($resultado_nm_desp); $linhas11 = mysql_num_rows($resultado_nm_func); for( $x9=0 ; $x9 < $conv_desp_rec ; $x9++ ) { echo "<div class='campo_grdesp'> <select name='grdesp$x9' id='grdesp$x9' onBlur='buscar_desp_func($x9)' onChange='buscar_desp_func($x9)' onKeyup='buscar_desp_func($x9)' >"; for( $x10=0 ; $x10 < $linhas9 ; $x10++ ) { $ds_nome_grdesp = mysql_result($resultado_nm_grdesp,$x10,'nm_grdespesa'); $cd_grdesp = mysql_result($resultado_nm_grdesp,$x10,'cd_grdespesa'); echo "<option value='$cd_grdesp'>$ds_nome_grdesp</option>"; } echo "</select> </div>"; echo "<div id='load_desp$x9' class='campo_desp'> <select name='desp$x9' id='desp$x9'> <option><-Selecione o Grupo da Despesa</option> </select> </div>"; echo "<div id='load_func$x9' class='campo_func'> <select name='func$x9' id='func$x9'> <option><-Selecione o Grupo da Despesa</option> </select> </div>"; echo" <div class='campo_valor_desp'> <input type='text' class='input' name='valor_desp$x9' value ='0,00' onkeypress='mascara(this,semponto)' onblur='somadesp();faltasobraautomatica()' id='valor_desp$x9' /> </div> <div class='campo_obs_desp'> <label for='obs_desp$x9'>Observações:</label> <input type='text' class='input' name='obs_desp$x9' onkeypress='mascara(this,semponto)' value ='observação' id='obs_desp$x9' /> </div>"; } ?> </html>
  21. Fala "Jedais"; Quando do form mando inserir no bd e a chave primária é violado obtenho uma resposta, dou um feedback para o usuário dizendo cnpj já existe. Mas passei a fazer com ajax para evitar o carregamento da pagina, e o problema é o seguinte: JS e o Ajax $(document).ready(function() { $("#id_botao").click(function(e) { if (!validarForm()) { return; } var nome = $("#nome"); var nomePost = nome.val(); var cnpj = $("#cnpj"); var cnpjPost = cnpj.val(); var radioPost; if(document.getElementById('radio0').checked == true) { radioPost = 0; }else { radioPost = 1; } $.ajax({ url : 'emp-inserir.php', type : "POST", data: { nome: nomePost, cnpj: cnpjPost, radio: radioPost //chave:valor }, datatype: "html", beforeSend: function(){ // modal dizendo que esta salvando }, success : function(response) { // AQUI quero o retorno dizendo que foi gravado com sucesso ou se houve a violação da chave primária }, error : function(data) { alert('Erro: URL não encontrada!');// não achou a url (debug) }, }) });// fim botão }); A URL para o ajax <?php $resultadoDao = '0'; require_once('dao/crud-emp.php'); $dao = new DaoEmpresa(); $nome = $_POST['nome']; $cnpj = $_POST['cnpj']; $radio = $_POST['radio']; if ($dao->inserir($nome, $cnpj, $radio)) { $resultadoDao = 'SUCESSO';// NÃO CONSIGO PEGAR ESTE VALOR }else { $resultadoDao = 'ERRO';// NÃO CONSIGO PEGAR ESTE VALOR } echo $resultadoDao; ?> O arquivo dao/crud-emp-.php public function inserir($nome, $cnpj, $isAutomatico) { error_reporting(0); // retirar caracteres acentuados $nome = strtr($nome, $this->map); // forçar a gravar tudo em maiusculo. Se quiser apenas a primeira letra de cada palavra em maiusculo, usar ucwords($nome) $nome = strtoupper($nome); $sql = "INSERT INTO empresa (nome, cnpj, isAutomatico) VALUES ('$nome', '$cnpj', '$isAutomatico')"; // retorna falso quando há duplicidade na chave primária, no caso o campo cnpj if (!mysql_query($sql)) { //$this->conectar->desconecta(); return false; } $this->addAutomatico($nome); $this->conectar->desconecta(); return true; } Amigos, tudo funciona, grava no bd quando é para gravar e não gtva quando o cnpj (chave primária) foi violada. Mas eu tenho que dar um feedback para o usuário saber que foi ou não gravado. Percebi através do console.log, que o parâmetro da função sucess do ajax retorna uma pagina inteira, tem como eu pegar um true/false? Desde já agradeço.
  22. Pessoal, vou tentar ser o mais breve possível. Tenho esses arquivos: - cidades.ajax.php - index.php - db_cidades.php db_cidades: <?php $con = mysqli_connect('localhost', 'adwpbeta', '46ocs7aA1J'); if (!$con) { die("Falha ao conectar o banco de dados: ". mysqli_error()); } $db = mysqli_select_db($con, 'adwpbeta_select_cidades'); if (!$db) { die("Falha ao selecionar banco de dados: ". mysqli_error()); } //mysqli_set_charset('utf8', $con); ?> cidades.ajax.php <?php include('db_cidades.php'); header( 'Cache-Control: no-cache' ); header( 'Content-type: application/xml; charset="utf-8"', true ); //mysql_set_charset('utf8', $con); mysql_query("SET NAMES 'utf8'", $con); mysql_query('SET character_set_connection=utf8', $con); mysql_query('SET character_set_client=utf8', $con); mysql_query('SET character_set_results=utf8', $con); $cod_estados = mysqli_real_escape_string( $_REQUEST['cod_estados'] ); $cidades = array(); $sql = "SELECT cod_cidades, nome FROM cidades WHERE estados_cod_estados=$cod_estados ORDER BY nome"; $res = mysqli_query($con, $sql); while ( $row = mysqli_fetch_assoc( $res ) ) { $cidades[] = array( 'cod_cidades' => $row['cod_cidades'], 'nome' => $row['nome'], ); } echo( json_encode( $cidades ) ); ?> index.php <?php include('db_cidades.php'); ?> <html> <head> <!--<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>--> <link rel="stylesheet" href="css/bootstrap.css"> <link href="https://fonts.googleapis.com/css?family=Montserrat:100,300,400,500,600,700" rel="stylesheet"> <title>Exemplo: Populando selects de cidades e estados com AJAX (PHP e jQuery) </title> <style type="text/css"> *, html { font-family: 'Montserrat', sans-serif; margin: 0px; padding: 0px; font-size: 12px; } label {font-weight:300;font-size:18px;} a { color: #0099CC; } body { margin: 10px; } .carregando{ color:#666; display:none; } </style> </head> <body> <div class="container"> <div class="form-group"> <div class="col-md-6"> <label for="cod_estados">Estado:</label> <select name="cod_estados" id="cod_estados" class="form-control"> <option value=""></option> <?php $sql = "SELECT cod_estados, sigla FROM estados ORDER BY sigla"; $res = mysqli_query($con, $sql); while ( $row = mysqli_fetch_assoc( $res ) ) { echo '<option value="'.$row['cod_estados'].'">'.$row['sigla'].'</option>'; } ?> </select> </div> <div class="col-md-6"> <label for="cod_cidades">Cidade:</label> <span class="carregando">Aguarde, carregando...</span> <select name="cod_cidades" id="cod_cidades" class="form-control"> <option value="">-- Escolha um estado --</option> </select> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.6.1'); </script> <script type="text/javascript"> $(function(){ $('#cod_estados').change(function(){ if( $(this).val() ) { $('#cod_cidades').hide(); $('.carregando').show(); $.getJSON('cidades.ajax.php?search=',{cod_estados: $(this).val(), ajax: 'true'}, function(j){ var options = '<option value=""></option>'; for (var i = 0; i < j.length; i++) { options += '<option value="' + j.cod_cidades + '">' + j.nome + '</option>'; } $('#cod_cidades').html(options).show(); $('.carregando').hide(); }); } else { $('#cod_cidades').html('<option value="">– Escolha um estado –</option>'); } }); }); </script> </div> </div> </div> <script src="js/bootstrap.js"></script> <!--<script src="js/jquery-1.11.3.js"></script> --> </body> </html> O problema é o seguinte: A listagem dos estados ocorre normalmente. Mas, ao selecionar o estado as cidades ficam carregando eternamente ou carregam e não mostram nada. Subi para esse servidor, para quiser ver o funcionamento: http://adwpbeta.tk/select-cidades/ Agradeço desde já qualquer ajuda.
  23. Situação: Quero consultar um registro no meu banco de dados a partir de um valor digitado num campo input text ou do clique nos botões Anterior e Próximo. Quando digito o valor no campo input text tá funcionando certinho, mas quando clico nos botões Anterior e Próximo, não estou conseguindo atualizar o campo input e submeter a consulta ao meu banco de dados. O evento onclick adicionado aos botões Anterior e Próximo simplesmente não funcionam, com isto, não consigo chamar a função de atualização do valor do input text. Acredito que o problema deva estar relacionado ao uso / requisição Ajax. Meu código HTML (está fora da área de resultado tratada na função getDados) <table class="bordasimples" align="right"> <tr><td><br>&nbsp; <input type="text" name="txtconcurso" id="txtconcurso" size="1">&nbsp; <input type="button" name="btnBuscar" value="Busca" onclick="getDados();">&nbsp; <input type="button" name="btnBuscar1" id="btnBuscar1" value="Anterior">&nbsp; <input type="button" name="btnBuscar2" id="btnBuscar2" value="Próximo"> &nbsp;&nbsp; </td></tr> </table> Minha função getDados - Ajax (não consigo executar as funções pegaConcursoMenos e pegaConcursoMais de jeito nenhum) /** * Função para criar um objeto XMLHTTPRequest */ function CriaRequest() { try{ request = new XMLHttpRequest(); }catch (IEAtual){ try{ request = new ActiveXObject("Msxml2.XMLHTTP"); }catch(IEAntigo){ try{ request = new ActiveXObject("Microsoft.XMLHTTP"); }catch(falha){ request = false; } } } if (!request) alert("Seu Navegador não suporta Ajax!"); else return request; } /** * Função para enviar os dados */ function getDados() { // Declaração de Variáveis var concurso = document.getElementById("txtconcurso").value; var result = document.getElementById("tbresultado"); var xmlreq = CriaRequest(); // Exibi a imagem de progresso // result.innerHTML = '<img src="gifanimacao.gif">'; // Iniciar uma requisição xmlreq.open("GET", "ltx_consultor_ltm.php?txtconcurso=" + concurso, true); // Atribui uma função para ser executada sempre que houver uma mudança de ado xmlreq.onreadystatechange = function(){ // Verifica se foi concluído com sucesso e a conexão fechada (readyState=4) if (xmlreq.readyState == 4) { // Verifica se o arquivo foi encontrado com sucesso if (xmlreq.status == 200) { result.innerHTML = xmlreq.responseText; }else{ result.innerHTML = "Erro: " + xmlreq.statusText; } } }; xmlreq.send(null); } function pegaConcursoMenos() { var concurso = document.getElementById("numconcurso").value; concurso--; document.getElementById("numconcurso").value = concurso; alert("Passei aqui na pegaConcursoMenos "+concurso); } function pegaConcursoMais() { var concurso = document.getElementById("numconcurso").value; concurso++; document.getElementById("numconcurso").value = concurso; alert("Passei aqui na pegaConcursoMais"+concurso); } Acredito que o problema não está no PHP, que quando apresenta a página inicial já traz o registro do banco de dados que me interessa corretamente. O que quero agora é permitir que o usuário clique no botão Anterior para ir para o registro anterior e no botão Próximo para ir para o próximo registro. Não consigo implementar isto! Quando o usuário preenche o campo input e clica no botão Buscar funciona direitinho. Resumindo: A partir do registro previamente mostrado pelo sistema, quero permitir ao usuário ir para o registro anterior, próximo ou direto para aquele que ele digitar no input text. Ah, sou iniciante em PHP, Javascript, Ajax, Html e estou aprendendo "na unha"! Nos meus códigos postados não há nenhuma chamada às funções pegaConcursoMenos e pegaConcursoMais simplesmente porque em todos os locais onde tentei chamá-las não funcionou. Inicialmente acreditei que elas devessem ser chamadas no evento onclick do respectivo botão do código html, mas não funcionou.
  24. Bom dia pessoal, eu estou tentando carregar uma lista sem dar refresh, e para isso estou usando o ajax com o jquery, segue o codigo. function listarUsuarios() { var form = event.srcElement.form; if ((trim(form.idPostoFilialSelecionado.value) == "") && (form.idPostoFilialSelecionado.selectedIndex < 2)) { alert(msg1); return false; } $(document).ready(function(e) { $("form[ajax=true]").submit(function(e) { e.preventDefault(); var form_data = $(this).serialize(); var form_url = $(this).attr("action"); var form_method = $(this).attr("method").toUpperCase(); $.ajax({ url: form_url, type: form_method, data: form_data, cache: false, success: function(){ $("#principal").load(form_url); } }); } )}) } Segue o html abaixo: <form method="post" action="ListarUsuarios.sma" ajax="true"> <!-- Titulo --> <div class="title">Consulta de Usuários</div> <!-- Search Parameters --> <div class="search"> <table class="searchTable" cellpadding="4" cellspacing="0" border="0"> <tr> <td width="30%" class="label">Posto / Filial:</td> <td width="50%"> <lay:select property="idPostoFilialSelecionado" bean="webBean" list="listaPostoFilial" title="true" discard="true" style="width:100%;"> <lay:option valueprop="id" textlast="pontoDeVenda"/> </lay:select> </td> <td width="20%">&nbsp;</td> </tr> <tr> <td width="30%" class="label">Tipo de Visão:</td> <td width="50%"> <select id="visao" name="idTipoVisaoSelecionado" width:"100%"> <option value="">Selecione ...</option> <option value="">-------------------------------------------------------------------------------------------</option> <option value="P" <%=(webBean.getIdTipoVisaoSelecionado() != null) ? ((webBean.getIdTipoVisaoSelecionado().equals("P")) ? "selected" : "") : ""%>>Posto / Filial</option> <option value="C" <%=(webBean.getIdTipoVisaoSelecionado() != null) ? ((webBean.getIdTipoVisaoSelecionado().equals("C")) ? "selected" : "") : ""%>>Cliente</option> <option value="A" <%=(webBean.getIdTipoVisaoSelecionado() != null) ? ((webBean.getIdTipoVisaoSelecionado().equals("A")) ? "selected" : "") : ""%>>Administrador - Sem Restrições</option> <option value="G" <%=(webBean.getIdTipoVisaoSelecionado() != null) ? ((webBean.getIdTipoVisaoSelecionado().equals("G")) ? "selected" : "") : ""%>>Gerência de Conta</option> </select> </td> <td width="20%"><input name="listar" type="submit" class="optionButton" value="Listar" onclick="listarUsuarios();"></td> </tr> </table> </div> O engraçado é que no chrome funciona. OBS: Já tentei alterar o atributo type ="button" e já tentei colocar return false; após a função listarUsuarios(); dentro do atrbuto onclick. Agradeço desde já se alguém puder me ajudar a resolver esse erro. Estou travado aqui no trabalho. Um grande abraço e uma ótima sexta a todos. :) O resultado esperado é que ele chame um evento dentro da div #principal.
  25. Olá pessoal, já programo bastante em delphi com mysql, sei alguma coisa de php fiz um curso tem algum tempo... Tenho várias consultas no meu site. Porém montei uma consulta em ajax e gostaria de exibir o resultado dela em uma janela modal, pois esse resultado vem um loop em uma grid então os botões ficam na frente do resultado com o seu ID então se o cliente clicar ele abre uma tela modal com o resultado da consulta que seriam os detalhes desse registro. Tenho a consulta ajax funcionando na tela já. Porém não sei aplicar o resultado dela em um modal. se alguém puder me ajudar ou passar algum tutorial para eu dar uma olhada agradeço. Obrigado. OBS: tem uma imagem em anexo que seria a lupa onde a pessoa vai clicar e abrir um modal do registro. Seria isso. Mais uma vez Obrigado.