Jump to content

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

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 452 results

  1. Boa tarde Pessoal tudo bom? Durante um tempo eu fui estudante de programação, para web. E esse forum me foi muito util pois aprendi muitas coisas, e tirei muitas duvidas com todos os participantes. Por outro lado não segui a carreira de programado pois tive outras oportunidades. Em fim, estou com um projeto de criar uma plataforma online para eventos, e estou tentando montar um time chegar nesse objetivo. Por hora ainda estou tentando juntando a equipe necessária para isso acontecer. Pela pouca experiência que tive na programação, sei que fazer essa plataforma é bem complexa principalmente com as necessidades que vamos englobar, porém o mercado esta escasso de plataformas flexíveis, no sentido de oferecer algumas ferramentas básicas na comunicação. apesar de ja existir algumas plataformas no mercado. Resumo: 1-) Procuro por programadores backend com experiência (não sei exatamente informar a linguagem) mas chuto que Java, Javascript e PHP sejam fundamentais. (sei que abusaremos muito do AJAX) 2-) Programador FrontEnd, com experiência. E que tenha principalmente em boas praticas, pois código sujo cheio de plugins tornará a plataforma pesada, e cheia de bugs. PS: Não procuro nada pronto, claro que plugins coisas são inevitáveis porém para funcionarmos Lisos com menos bugs possíveis procuro algo feito “artesanalmente” rsrs. Obs: o projeto esta no inicio ainda, estou juntando contatos para chegar no objetivo, e assim que tiver um contato gostaria de poder conversar trocar ideias, caso seja um projeto onde você se identifique nada impede de sermos parceiros ter uma % sobre o negocio. Obs2: Desculpem se escrevi meio enrolado ou esta complicado de entender. pois apenas disse plataforma de eventos e não especifiquei nada. mas assim que receber um contato eu passo mais informações com alguns links de exemplos, que é melhor que falar. E caso aqui seja o lugar correto posso passar mais informações por aqui também. Seguem alguns exemplos de plataforma de eventos online. Download de 2 PDFs de apresentações do mesmo segmento Site de uma das plataformas porém proximo do que almejamos https://www.swaper.com.br/ Fico a disposição, Desculpem se postei no local incorreto
  2. Rafael Castelhano

    Ajax + Django

    Olá, nunca fiz consulta com Ajax e estou quebrando a cabeça para atualizar um campo no Django, tenho um template de funcionário e assim que selecionar a matricula quero que busque via ajax o nome do funcionário, segue no link meus arquivos, se alguém puder ajudar agradeço: https://gist.github.com/castelhano/dcbdbd6bef0d0012efddae544224a5a5
  3. sirrocha

    Como usar o AJAX para dar UNSET?

    Olá pessoal, sou iniciante só que tenho um projeto com uma certa pressão de tempo pra fazer. Um dos problemas que estou tendo é relacionado ao clicar em um tipo "a href" e aplicar uma função. Pelo que vi, tenho que usar AJAX mas não tenho nenhuma noção de como iniciar, mesmo vendo muitos vídeos...Basicamente tenho uma página onde está carregando algumas sessões. Porém, ao clicar neste botão: 1 <p><a class="link" name="final" id="fin" onclick="finalizar()" href="areaUsuario.php" style="text-decoration:none;">finalizar</a></p> Estava tentando chamar uma função do tipo finalizar(), que iria dar UNSET em duas sessões específicas que eu precisava desligar (por isso não posso usar o destroy para tirar todas). 1 2 3 4 5 6 7 8 9 <script type="text/javascript">> <?php function finalizar() { unset($_SESSION['prestacao']); unset($_SESSION['nomeproj']); header("location:areaUsuario.php"); } ?> </script> O que eu fiz e falaram que estava errado era isso. Como posso usar o AJAX neste caso para desligar essas duas funções e enviar o usuário para a área inicial? Por favor, se possível, enviar uma base de como poderia fazer com o raciocínio. É algo urgente, mas também gostaria de aprender.
  4. DinhoPHP

    Exibir galeria sob demanda

    Pessoal, tenho um código PHP que busca imagens em subpastas, porém gostaria de fazê-lo com que fosse carregado aos poucos pois são muitas fotos, tentei de ns maneiras entender o AJAX, mas não tive sucesso. Favor! Peço ajuda. loadAjax.php $dir = new DirectoryIterator( './images/portfolio/sem_categoria' ); // array contendo os diretórios permitidos $diretoriosPermitidos = array("portfolio","sem_categoria"); foreach($dir as $file) { // verifica se $file é diferente de '.' ou '..' if (!$file->isDot()) { // listando somente os diretórios if ( $file->isDir() ) { // atribui o nome do diretório a variável $dirName = $file->getFilename(); // subdiretórios $caminho = $file->getPathname(); // chamada da função de recursividade recursivo($caminho, $dirName); } // listando somente os arquivos do diretório if ( $file->isFile() ) { // atribui o nome do arquivo a variável $fileName = $file->getFilename(); // print //echo "Arquivos: ".$fileName."<br>"; } } } function recursivo( $caminho, $dirName ){ global $dirName; $DI = new DirectoryIterator( $caminho ); foreach ($DI as $file){ if (!$file->isDot()) { if ( $file->isFile() ) { // $fileName = $file->getFilename(); // //echo $dirName.": ".$fileName."<br>"; echo "<div class='col-12 col-sm-6 col-md-4 col-lg-3 mb-2 d-flex justify-content-center' alt=''> <a href='{$fileName}' class='fresco' data-fresco-group='example' data-fresco-caption='ARJ SERVICE'> <img class='eni-img-thumb' src='images/portfolio/sem_categoria/{$dirName}/{$fileName}'> </a> </div>"; } } } } Tentei adaptar o código abaixo as minhas necessidades, mas não consegui. <script> //variavel para controle de registros retornados var pagina = 0; var pesquisa = true; //function carrega function carrega(){ $('#loading').html("<img src='img/loader.gif'/> Carregando Feeds...").fadeIn('fast'); $.ajax({ type: "POST", url: "loadAjax.php", data: "page="+pagina,//variavel passada via post cache: false, success: function(html){ if(html){ $('#loading').fadeOut('fast'); $("#result").append(html); //mostra resultado na div result pesquisa = true; }else{ $('#loading').html("Fim da pesquisa...").fadeIn('fast'); pesquisa = false; } }, error:function(html){ $('#loading').html("erro...").fadeIn('fast'); } }); }; //chama minha funcao ao carregar a pagina $(document).ready(function(){ carrega(); }); //funcao de controle do scroll da pagina, na qual ela chega ao fim é acionada chamando //minha function carrega novamente para trazer mais dados dinamicamente $(window).scroll(function(){ if($(window).scrollTop() + $(window).height() >= $(document).height()){ pagina += 1; carrega(); }; }); </script>
  5. Olá, estou tentando enviar a url que corresponde a imagem porém não é possivel enviar essa url pois ela é muito grande, teria alguma maneira de eu conseguir fazer esse envio sem perde muito o sentido. já rodei a internet toda mais não conseguir resolver a questão. segua abaixo o exemplo function photo(idx){ var character = idx; (async () => { const { value: file } = await Swal.fire({ input: 'file', inputAttributes: { accept: 'image/*', 'aria-label': 'Selecione sua imagem' } }) if (file) { const reader = new FileReader() reader.onload = (e) => { var mystring = e.target.result; var encodedString = btoa(mystring); //alert(encodedString); //código que envia os dados. new Ajax.Updater('carfunc', 'pag/request/user/swal.php?Idx='+character+'&form=6&image='+encodedString, {method: 'get', asynchronous:true, evalScripts:true}); carregando('#carfunc'); } reader.readAsDataURL(file) } })() } Aqui é a chamada da função: <div class="skillBlock"> <div class="skillBlock-block"> <div class="skillBlock-img"> <img src="images/skill_5.jpg" alt=""> <span class="m-number">3</span> </div> <div class="skillBlock-info" style="cursor:pointer;" onclick="javascript:photo('<?=soNumero(antSQL(anti_injection(htmlspecialchars($rowsCharacter->CharacterIdx))))?>')"> <p>Adicionar Emblema</p> adicione emblema de guild </div> </div> Algum especialista do coração bom poderia me tirar esse sufoco.
  6. Mandei uma imagem em anexo pra entender Alguém pode me ajudar como posso fazer um script que vai pegar o id de cada produto ir no banco de dados e atualizar o campos visualizações vendas concretizadas isso de modo automatico sem que eu precise ficar clicando em atualizar a pagina
  7. DinhoPHP

    Problemas ao enviar anexo com PHPMailer

    Estou tentando enviar um anexo e o mesmo não chega no email, apenas quando não faço uso da função attach. arquivo que contém as functions responsáveis pelo envio do email. public function attach(string $filePath, string $fileName): Email{ $this->data->attach[$filePath] = $fileName; return $this; } Arquivo que utiliza a função attach. No arquivo que captura os dados do formulário, já passei os parâmetros de tudo quanto é jeito. require __DIR__ . "/include/head.php"; require __DIR__ . "/vendor/autoload.php"; use Source\Support\Email; $email = new Email(); // CAPTURANDO DADOS DO FORMULÁRIO $nome = trim(ucwords(preg_replace('/\s\s+/', ' ',($_POST['nome-curriculo'])))); $eemail = trim(strtolower(preg_replace('/\s\s+/', ' ',($_POST['email-curriculo'])))); $telefone = trim(preg_replace('/\s\s+/', ' ',($_POST['telefone-curriculo']))); $cidade = trim(preg_replace('/\s\s+/', ' ',($_POST['cidade-curriculo']))); $assunto = trim(preg_replace('/\s\s+/', ' ',($_POST['assunto-curriculo']))); $mensagem = trim(preg_replace('/\s\s+/', ' ',("<pre>".$_POST['mensagem-curriculo']."</pre>"))); // $file_tmp = ($_FILES['file'], $_POST['name']); $files = $_FILES['curriculo']; $email->add($assunto, "<h3>Nome: {$nome}<br>{$files['name']}<br>Email: {$eemail}<br><br>Telefone: {$telefone}<br><br>Cidade: {$cidade}<br><br></br>Mensagem:<br>{$mensagem}</h3>", $nome, $eemail)->attach($files['tmp_name'], $files['name'])->send(); var_dump($files); A função attach que recebe dois parâmetros, quando utilizada, não envia o anexo vindo do form HTML, já digitando os parâmetros na função, ela envia o anexo. Já li até alguns casos semelhantes aqui mesmo e nada! Só envia o anexo digitando os parâmetros manualmente.
  8. Iai galera blz? Tô com uma duvida aqui. Eu tenho um menu Vertical Tabs que basicamente me ajuda a navegar em uma pagina sem precisar criar varias rotas para outras paginas. Segue o codigo: <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> * {box-sizing: border-box} body {font-family: "Lato", sans-serif;} /* Style the tab */ .tab { float: left; border: 1px solid #ccc; background-color: #f1f1f1; width: 30%; height: 300px; } /* Style the buttons inside the tab */ .tab button { display: block; background-color: inherit; color: black; padding: 22px 16px; width: 100%; border: none; outline: none; text-align: left; cursor: pointer; transition: 0.3s; font-size: 17px; } /* Change background color of buttons on hover */ .tab button:hover { background-color: #ddd; } /* Create an active/current "tab button" class */ .tab button.active { background-color: #ccc; } /* Style the tab content */ .tabcontent { float: left; padding: 0px 12px; border: 1px solid #ccc; width: 70%; border-left: none; height: 300px; } </style> </head> <body> <h2>Vertical Tabs</h2> <p>Click on the buttons inside the tabbed menu:</p> <div class="tab"> <button class="tablinks" onclick="openCity(event, 'London')" id="defaultOpen">London</button> <button class="tablinks" onclick="openCity(event, 'Paris')">Paris</button> <button class="tablinks" onclick="openCity(event, 'Tokyo')">Tokyo</button> </div> <div id="London" class="tabcontent"> <h3>London</h3> <p>London is the capital city of England.</p> </div> <div id="Paris" class="tabcontent"> <h3>Paris</h3> <p>Paris is the capital of France.</p> </div> <div id="Tokyo" class="tabcontent"> <h3>Tokyo</h3> <p>Tokyo is the capital of Japan.</p> </div> <script> function openCity(evt, cityName) { var i, tabcontent, tablinks; tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } tablinks = document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace(" active", ""); } document.getElementById(cityName).style.display = "block"; evt.currentTarget.className += " active"; } // Get the element with id="defaultOpen" and click on it document.getElementById("defaultOpen").click(); </script> </body> </html> Fonte: https://www.w3schools.com/howto/howto_js_vertical_tabs.asp Blz, agora digamos que eu tenha saído da pagina onde tem esse Vertical tab e quando retornar eu gostaria de voltar justamente do lugar de onde eu sai. Por exemplo, digamos que eu tenha saído do menu na parti Paris para uma pagina onde tem tudo de Paris quando eu apertar no botão voltar eu quero retornar a pagina onde tem o menu e quero que ele fique na opção Paris inclusive marcado. Quando ele volta ele só vai para a primeira opção. Tem algum jeito de fazer isso?
  9. Bom dia, Eu to fazendo um projeto onde preciso ir adicionando eventos. Quando eu adiciono dois ou mas do primeiro setor selecionado da tudo certo. Mas quando removo e altero o setor, o select vem duplicado e os eventos vem duplicado também. Depois de remover e trocar o setor e adicionar novos eventos. --- popular a primeira aba que ja vem na pagina. $(function(){ $('#setor').change(function(){ if( $(this).val() ) { $('#evento').slideUp(); $.getJSON('function_setor.php?search=',{setor: $(this).val(), ajax: 'true'}, function(j){ var options = '<option value="">Escolha Evento</option>'; for (var i = 0; i < j.length; i++) { options += '<option value="'+j.id+'">'+j.desc+'</option>'; } $('#evento').html(options).slideDown(); }); } else { $('#evento').html('<option value="">Escolha Evento</option>'); } }); }); ---poupula as option dos select quando adiciono novo evento. $('#setor').blur(function(){ var sector = $(this).val(); $("#add").click(function(event) { cont ++; $("#new_add").append('<div class="row" id="campo'+cont+'"><div class="col"><div class="row"><div class="col"><button type="button" id="'+cont+'" class="btn btn-outline-secondary tamanho">-</button></div><div class="col"><select class="custom-select" id="evento'+cont+'" name="evento[]" tabindex="2"><option value="">Escolha Evento</option></select></div></div></div><div class="col"><textarea class="form-control" name="relato[]" id="relato'+cont+'" tabindex="3" placeholder="DESCRIÇÃO DO ACONTECIMENTO" required></textarea></div></div>'); $.getJSON('function_setor.php?search=',{setor: sector, ajax: 'true'}, function(j){ for (var i = 0; i < j.length; i++) { $("#evento"+cont+"").append('<option value="'+j.id+'">'+j.desc+'</option>'); } console.log(j); }); }); }); se puder me ajudar com esse problema que so ocorre quando eu troco o setor.
  10. Matheus B. Siqueira

    Erro em Undefined Index com Jquery e Php

    Estou desenvolvendo um código para enviar um texto digitado pelo usuário para outro php, em uma textarea, como abaixo: <label for="message-text" class="col-form-label">Comentário:</label> <textarea class="form-control" name="situacao" id="situacao"></textarea> Logo após desenvolvi um código em ajax para enviar esta informação para outro php: $(function inserirComentario(situacao){ $("#enviar_comentario").click(function(){ var situacao = $("#situacao").val(); var id = $('.carousel-item.active').attr('data-id') $.ajax({ url: 'video_professor_comentario.php', data: {'comentario_situacao' : $("#situacao").val()}, type: 'post', dataType:'json', success: function(output) { alert(output); }, error: function(request, status, error){ alert("Error: Could not delete"); } }); location.href='video_professor_comentario.php?id='+id }); }); Porém ao tentar enviar o erro que é apresentado é: Notice: Undefined variable: situacao in C:\xampp\htdocs\tcc\video_professor_comentario.php on line 26NULL O código em PHP, que é enviado, video_professor_comentario.php, consta abaixo: <?php //se não tiver o parametro, mata a aplicação. if(!isset($_GET['id'])) die(); if (isset($_POST['comentario_situacao'])) { $situacao = $_POST['comentario_situacao']; } //Aqui está um exemplo simples de como fazer uma conexão PDO $host = 'localhost'; $db = 'onteach'; $user = 'root'; $pass = 'root'; $charset = 'utf8mb4'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; try { $pdo = new PDO($dsn, $user, $pass); } catch (PDOException $e) { throw new PDOException($e->getMessage(), (int)$e->getCode()); } var_dump($situacao); $pdo->exec("UPDATE `video_monitor` SET `situacao` = '.$situacao.' WHERE `video_monitor`.`idvideo_monitor` = ".$_GET['id']); var_dump($pdo); ?> <script> alert('Vídeo enviado ao monitor com sucesso!') var_dump($pdo); //location.href='professor.php' </script> Caso alguém souber resolver o erro, seria de muita ajuda para mim, visto que este trabalho é para meu tcc e os professores não ajudam muito!
  11. Luccas Gaulia

    AJAX erro, não envia os dados

    Ola, Não entendi ainda porque não envia via POST os dados no AJAX, vai direto para o error, e abre o Modal dizendo que houve o erro e rapidamente direciona para a página, mesmo esse modal não sendo para isso... Coloquei o Alert e ele faz a mesma coisa, abre o Alert de Error e direciona para página... Não estou utilizando a url:, pois o caminho é o mesma da página e mesmo utilizando, nada muda... colocando em outro php e chamando, também dá erro. Preciso entender sobre essa situação para enviar meus dados via POST e ajax $(document).on("click", '#updateStatusEquip', function() { $.ajax({ type: "POST", data: { value_id : $('#admin_id').val() }, success: function(data) { // Check the output of ajax call on firebug console console.log(data); $(".modal-body-info").html("Sucesso: Status do Registro alterado com sucesso"); $("#myModalMessage").modal("show"); }, error: function () { $(".modal-title").html("Erro"); $(".modal-body-info").html("Erro: Registro não foi inserido"); $("#myModalMessage").modal("show"); } }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!-- Modal - Message --> <div class="modal fade" id="myModalMessage" tabindex="-1" role="dialog" aria-labelledby="myModalMessage"> <form method="post" id="ze-form" > <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title"></h4> <button type="button" class="close" id="reloadTable" data-dismiss="modal" aria-label="Fechar"><span aria-hidden="true">&times;</span></button> </div> <div class="modal-body"> <div class="modal-body-info"> <b>Registro de:</b><br>Jonhy<input type="hidden" name="admin_id" id="admin_id" value="2"><br><b>Têm certeza que deseja alterar o status desse registro?</b><br>Poderá não ser capaz de acessar o Sistema</div> </div> <div class="modal-footer"> <button type="button" class="btn btn-danger" id="reloadTable" data-dismiss="modal">Fechar</button> <div class="modal-footer-button"><button type="submit" name="updateStatusEquip" id="updateStatusEquip" title="Alterar..." class="btn btn-warning">Alterar <i class="fas fa-level-up-alt ze-icon-m"></i><i class="fas fa-level-down-alt ze-icon-m"></i> </button></div> </div> </div> </div> </form> </div>
  12. O DataTables está funcionando, todos os Buttons funcionam e chamam a tabela, estou utilizando load para abrir a tabela por ajax, faz o reload normalmente, porém as demais ações não, como: Paginação, clica na página 2, muda as descrições abaixo e o número da página, mas não muda as linhas; Buscar, não funciona, porém utilizando uma busca externa com myFunction de uma coluna, funciona; Ordenar, não funciona, o ícone até muda para baixo ou para cima... O que estou entendendo que os valores puxados pelo Ajax da lista gerado pelo PHP estão estáticas e nada muda. Quando utilizava o foreach dentro da página e listava tudo, funciona corretamente... Estava querendo separar para poder trabalhar com reload e colocar inserir e editar com modais sem precisar atualizar a página. equipAll.php <?php include '../datasourceGestao.php'; $datasource = new datasource(); $result = $datasource->getAllEquip(); $row = array(); foreach ($result as $array) { $row[] = array('admin_id' => $array['admin_id'], 'first_name' => $array['first_name'], 'last_name' => $array['last_name'], 'email' => $array['email'], 'gender' => $array['gender'], 'birth_date' => $datasource->invertDate($array['birth_date']), 'telephone' => $array['telephone'], 'mobile' => $array['mobile'], 'nivel' => $array['nivel'], 'status' => $array['status'] ); } $output = array( "draw" => intval($_POST["draw"]), "iTotalRecords" => count($row), "iTotalDisplayRecords" => count($row), "aaData" => $row ); $response = json_encode($output); echo $response; ?> $(document).ready(function () { var table = $('#myTable').DataTable( { dom: 'Bfrtip', processing:true, serverSide:true, ajax:{ "url": "php_action/equipAll.php", "type":"POST" }, autoWidth: false, responsive: true, orderCellsTop: true, bFilter: true, fixedHeader: false, deferRender: true, pagingType: "full_numbers", lengthMenu: [ [ 10, 25, 50, -1 ], [ '10 linhas', '25 linhas', '50 linhas', 'Todos' ] ], searching: true, select: true, select: { style: 'multi+shift', }, columns: [ { data: 'admin_id' }, { data: 'action' }, { data: 'first_name'}, { data: 'last_name' }, { data: 'email' }, { data: 'gender', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("1"==sData){ $(nTd).html("<i class='fas fa-venus ze-icon-m'></i>"); } else if("2"==sData){ $(nTd).html("<i class='fas fa-mars ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-venus-mars ze-icon-m'></i>"); } } }, { data: 'birth_date' }, { data: 'telephone' }, { data: 'mobile' }, { data: 'nivel', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("1"==sData){ $(nTd).html("<i class='fas fa-user-tie ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-user ze-icon-m'></i>"); } } }, { data: 'status', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("2"==sData){ $(nTd).html("<i class='fas fa-toggle-on ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-toggle-off ze-icon-m'></i>"); } } } ], columnDefs: [ { "targets": [ 0 ], "visible": true, "searchable": true, "data": "admin_id" }, { "targets": [ 1 ], "data": null, "defaultContent": "<div class='btn-group' role='group' aria-label='Button group with nested dropdown'><div class='btn-group' role='group'><button id='btnGroupDrop1' type='button' class='btn btn-secondary dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'><i class='fas fa-cogs ze-icon-m' aria-hidden='true'></i></button><div class='dropdown-menu' aria-labelledby='btnGroupDrop1'><button type='button' class='btn btn-link' id='Detail' name='Detail'><i class='fas fa-eye ze-icon-m' aria-hidden='true'></i></button><button type='button' class='btn btn-link' id='Edit' name='Edit'><i class='fas fa-edit ze-icon-m'></i></button><button type='button' class='btn btn-link' id='confirmDelete' name='confirmDelete'><i class='fas fa-trash-alt ze-icon-m'></i></button><button type='submit' class='btn btn-link' id ='confirmStatus' name='confirmStatus'><i class='fas fa-toggle-on ze-icon-m'></i></button></div></div></div> " }, { "targets": [ 2 ], "visible": true, "searchable": true, "data": "first_name" }, { "targets": [ 3 ], "visible": true, "searchable": true, "data": "last_name" }, { "targets": [ 4 ], "visible": true, "searchable": true, "data": "email" }, { "targets": [ 5 ], "visible": false, "searchable": true, "data": "gender", }, { "targets": [ 6 ], "visible": false, "searchable": true, "data": "birth_date" }, { "targets": [ 7 ], "visible": false, "searchable": true, "data": "telephone" }, { "targets": [ 8 ], "visible": false, "searchable": true, "data": "mobile" }, { "targets": [ 9 ], "visible": false, "searchable": true, "data": "nivel" }, { "targets": [ 10 ], "visible": false, "searchable": false, "data": "status" } ], buttons: [ { extend: '', text: '<i class="fa fa-user-plus ze-icon-gg" style="color:blue;"></i>', titleAttr: 'Novo Registro', action: function (e, node, config){ $('#myModalInsert').modal('show') } }, { extend: 'pageLength', text: '<i class="fas fa-list-ol ze-icon-gg" style="color:purple;"></i>', titleAttr: 'Mostrar', }, { extend: 'copyHtml5', text: '<i class="fas fa-copy ze-icon-gg" style="color:gray;"></i>', titleAttr: 'Copiar', key: { key: 'c', altKey: true }, exportOptions: { modifier: { page: 'current', columns: ':visible' } } }, { extend: 'excelHtml5', text: '<i class="fas fa-file-excel ze-icon-gg" style="color:green;"></i>', titleAttr: 'Excel', exportOptions: { modifier: { page: 'current', columns: ':visible' } } }, { extend: 'pdfHtml5', text: '<i class="far fa-file-pdf ze-icon-gg" style="color:red; background-color:transparent;"></i>', titleAttr: 'PDF', orientation: 'A4', //portrait or landscape alignment: 'center', pageSize: 'LEGAL', exportOptions: { columns: ':visible' } }, { extend: 'print', text: '<i class="fas fa-print ze-icon-gg" style="color:orange;"></i>', titleAttr: 'Print', exportOptions: { columns: ':visible' } }, { extend: 'colvis', text: '<i class="fas fa-columns ze-icon-gg"></i>', titleAttr: 'Alterar Colunas Visiveis', "columns": ':not(.noVis)' }, { extend: 'selectNone', text: '<i class="fas fa-th ze-icon-gg"></i>', titleAttr: 'Remover todos os selecionados' }, { extend: 'selectRows' , text: '<i class="fas fa-minus ze-icon-gg"></i>', titleAttr: 'Selecionar linha(s)' }, { extend: 'selectColumns', text: '<i class="fas fa-th-large ze-icon-gg"></i>', titleAttr: 'Selecionar coluna(s)' }, { extend: 'selectCells', text: '<i class="fas fa-object-group ze-icon-gg"></i>', titleAttr: 'Selecionar celula(s)' } ], language: { "decimal": "", "emptyTable": "Não avaliação deste registro", "info": "Mostrar de _START_ a _END_ de _TOTAL_ registros", "infoEmpty": "Mostrar 0 de 0 de 0 registros", "infoFiltered": "(Total de _MAX_ registros de entradas)", "infoPostFix": "", "thousands": ",", "lengthMenu": "Mostrar _MENU_ registros", "loadingRecords": "Carregando...", "processing": "Processando...", "search": "Buscar:", "zeroRecords": "Não há registros", "paginate": { "first": "<<", "last": ">>", "next": ">", "previous": "<" }, "loadingRecords": '&nbsp;', "processing": 'Processando...', "aria": { "sortAscending": ": Coluna ativa em ordem ascendente", "sortDescending": ": Coluna ativa em ordem descendente" }, "select": { "rows": { "_": "(Selecionado %d linhas)", "0": "(Nenhuma linha selecionada)", "1": "(Selecionado 1 linha)" }, "columns": { "_": "(Selecionado %d colunas)", "0": "(Nenhuma coluna selecionada)", "1": "(Selecionado 1 coluna)" } }, "buttons": { "copy": "Copiar para a área de transferência", "copyTitle": "Cópia bem sucedida", "copySuccess": { "1": "Uma linha copiada com sucesso", "_": "%d linhas copiadas com sucesso" } } } }); <table id="myTable" class="table table-striped table-hover display nowrap dataTable" cellspacing="0"> <thead class="thead-dark"> <th class="ze-center" data-priority="1">ID</th> <th class="ze-center" data-priority="1">Opções</th> <th class="w-50" data-priority="1">Nome</th> <th class="w-50" data-priority="1">Sobrenome</th> <th class="ze-center">E-mail</th> <th class="ze-center">Gênero</th> <th class="ze-center">Dt Nasc.</th> <th class="ze-center">Telefone</th> <th class="ze-center">Mobile</th> <th class="ze-center">Nivel</th> <th class="ze-center">Status</th> </thead> <tbody> <?php if (count($result) == 0) { ?> <td colspan="4">Não há Membros Cadastrados</td> <?php } else { foreach ($result as $array) { ?> <tr> <td><?php echo utf8_encode($array['admin_id']); ?></td> <td> </td> <td class="ze-left"> <?php echo utf8_encode($array['first_name']); ?> </td> <td><?php echo utf8_encode($array['last_name']); ?></td> <td><?php echo utf8_encode($array['email']); ?></td> <td><?php echo ($array['gender'] == 1 ? "Masculino" : "Feminino"); ?></td> <td><?php echo utf8_encode($array['birth_date']); ?></td> <td><?php echo utf8_encode($array['telephone']); ?></td> <td><?php echo utf8_encode($array['mobile']); ?></td> <td><?php echo utf8_encode($array['nivel']); ?></td> <td><?php echo utf8_encode($array['status']); ?></td> </tr> <?php } } ?> </tbody> <tfoot class="thead-dark"> <th class="ze-center">ID</th> <th class="ze-center">Opções</th> <th>Nome</th> <th>Sobrenome</th> <th class="ze-center">E-mail</th> <th class="ze-center">Gênero</th> <th class="ze-center">Dt Nasc.</th> <th class="ze-center">Telefone</th> <th class="ze-center">Mobile</th> <th class="ze-center">Nivel</th> <th class="ze-center">Status</th> </tfoot> </table>
  13. Olá! Tenho um formulário que dentro dele contem uma dropdownlist que utiliza o Bootstrap-Select (selectpicker) e quando clicado o mesmo carrega uma lista de opções provenientes do mysql. Ocorre que esta lista envia as opções marcadas para o mysql corretamente porém eu gostaria que a mesma, no que diz respeito a atualização de dados, carregasse as opções marcadas anteriormente ao ser clicada. Abaixo segue um método do selectpecker que inseri valores de um objeto em JSON e mostra as opções marcadas referente a esses valores: $('.selectpicker').selectpicker('val', [puxar valores de um objeto JSON aqui]); Baseando-se no método acima como faço para inserir valores de um objeto em JSON proveniente de um script php que envia o resultado em formato JSON para o ajax? Abaixo segue um trecho do Ajax que recebe os dados do script php e os mostra em um formulário com campos input e selectpicker. $(document).on('click', '.update', function(){ $.ajax({ url:"fetch_single.php", method:"POST", data:{user_id:user_id}, dataType:"json", success:function(data) { $('#camisas').val(data.camisas); $('.selectpicker').selectpicker('val', [valores de um objeto em JSON aqui]); $('.selectpicker').selectpicker('refresh'); } }) }); E abaixo o resultado em JSON que o AJAX recebe: {"camisa":"15","cores":"5,18,27"} No caso gostaria de que o selectpicker puxasse os valores do objeto "cores" como uma forma de marcar essas opções dentro da lista. É possível? Desde já agradeço a atenção.
  14. Saudações, alguem pode dar uma força nesse codigo abaixo por favor. Da erro na etapa em que o ajax chama a funcao mas nao consigo determinar o motivo. Mensagem do console: $.ajax is not a function HTML: <header> <script src="https://code.jquery.com/jquery-3.4.1.min.js"</script> <script type="text/javascript" src="xcomp_empresarial_clientes_cadastros.js"></script> </header> <label for="inputcomissao_venda">Procurar</label> <input type="text" name="procurar" id="procurar" class="form-control" aria-label="" aria-describedby="inputGroup-sizing-sm" onchange="filtrar_clientes()"> JS: function filtrar_clientes(){ var tipo_do_filtro = document.getElementById("filtrar_por").value; var conteudo_do_filtro = document.getElementById("procurar").value; if (conteudo_do_filtro !==''){ alert("acessou :" + tipo_do_filtro + " - " + conteudo_do_filtro); $.ajax({ // localizacao e nome do programa url:'filtrar_cadastros_clientes.php', // tipo de envio dos dados GET / POST type:'GET', // variavel enviada para a url / programa data:conteudo_do_filtro, //formato do retorno: TEXT /JSON dataType:'json', //caso positivo na url success:function(resultado){ alert("quantidade encontrada :" + resultado.total); //demonstracao do que ocorreu no console console.log(option); $('#clientes_cadastros_listagem').html(resultado.data); } }); } } PHP: PHP: <?php $id_empresa=$_SESSION['id_empresa']; $conteudo_do_filtro = $_GET['conteudo_do_filtro']; require('conexao_dbo.php'); $conteudo_do_filtro = "%".$conteudo_do_filtro."%"; $filtro_ativos = $arquivo->prepare("SELECT id, razao, email, contato, telefones, telefone_2, celular, deletado, ativo, id_empresa FROM clientes WHERE deletado=0 AND id_empresa='$id_empresa' AND razao like '$conteudo_do_filtro' ORDER BY ativo,razao"); $filtro_ativos->execute(); echo json_encode(['data'=>$filtro_ativos->fetchAll(),'total'=>$filtro_ativos->rowCount()]); ?>
  15. Olá amigos, estava testando a API do PasteBin, estava na etapa de resgatar a chave do usuário, e quando faço a requisição, o XMLHttpRequest.status retorna o código 0, o que eu acho estranho... Aqui é o link da documentação da API do PasteBin: https://pastebin.com/api Bem, aqui vai meu código (com meus dados de login retirados, claro): var ajax = new XMLHttpRequest(); ajax.open("POST", "https://pastebin.com/api/api_login.php", true); ajax.setRequestHeader("encoding", "utf-8"); ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajax.send("api_dev_key=40e2994f5de3dcae28006cba01318634&api_user_name=MeuUsername&api_user_password=MinhaSenha"); ajax.onreadystatechange = function(){ if(ajax.readyState == 4 && ajax.status == 200){ var data = ajax.responseText; console.log(data); } else{ console.log("erro"); } } De antemão já agradeço a resposta!
  16. juliosertori

    Envio de JSON via AJAX POST

    Olá galera tudo bem? Tenho o seguinte JSON: var jsNfe = { "venda": { "identificacao": 1, "comentario": "" }, "documento": { "numero_nf": 663, "natureza_operacao": "Venda de produto de estabelcimento", "cfop": "6101", "numero_serie": 1, "ambiente": 2, "info_complementar": "", "consumidor_final": 1, "operacao_interestadual": 1, "CSC": "GPB0JBWLUR6HWFTVEAS6RJ69GPCROFPBBB8G", "CSCid": "000002" }, "emitente": { "codigo_uf": 31, "razao_social": "empresa", "nome_fantasia": "empresa", "ie": "5464324354", "cnpj": "25447541000155", "crt": 1, "csosn": "101", "logradouro": "ENDERECO", "numero": 444, "complemento": "", "bairro": "CENTRO", "nome_municipio": "Serrania", "cod_municipio_ibge": "3166907", "uf": "MG", "cep": "37143000", "nome_pais": "Brasil", "cod_pais": "1058" }, "destinatario": { "nome": "DESTINAT", "tipo": "j", "cpf_cnpj": "544114552000155", "ie_rg": "54545454", "contribuinte": 1, "logradouro": "ENDERECO, "numero": 665, "complemento": "", "bairro": "centro", "nome_municipio": "cidade", "cod_municipio_ibge": "4112009", "uf": "PR", "cep": "546545645", "nome_pais": "Brasil", "cod_pais": 1058 }, "itens": [ { "cod_barras": "SEM GTIN", "codigo_produto": 1, "nome_produto": "Coca-cola lata 350 ml", "ncm": "44071100", "unidade": "UN", "quantidade": 1.00, "valor_unitario": 3.5, "compoe_valor_total": 1 } ], "frete": { "modelo": 0, "valor": 1.2, "quantidade_volumes": 1.0, "numero_volumes": 1.0, "especie": "TON", "placa": "AZE1757", "uf_placa": "PR", "peso_liquido": 10.0, "peso_bruto": 12.0 }, "responsavel_tecnico": { "cnpj": "454545454444", "contato": "CONT", "email": "EMAIL", "telefone": "TEL" }, "pagamento": { "tipo": "14", "indicacao_pagamento": 0 }, "fatura": { "desconto": 0.00, "total_nf": 3.5 }, "duplicatas": [ { "data_vencimento": "2020-04-21", "valor": 3.5 } ], "tributacao": { "icms": 0.00, "pis": 0.00, "cofins": 0.00, "ipi": 0.00 } }; Já testei diretamente no POSTMAN, ele funciona perfeitamente no sistema, mas não consigo de forma alguma enviar via AJAX POST Vlww
  17. Olá, meu problema é o seguinte... criei um perfil de usuários onde permito que o dono da conta possa fazer as alterações que desejar, e fiz todo código com o UPDATE dos dados funcionando, abrindo a o arquivo update_usuario.php em uma nova pagina. Porém quando criei uma Requisição AJAX, para fazer com que ele abra dentro da DIV class conteudo, ele não funciona, ou seja não efetua o UPDATE dos dados alterados. Se alguém puder dar uma força, me mostrando o porque, ficarei muito agradecido!!! Segue abaixo os códigos dos aquivos usados: Aquivo perfil_usuario.php - Onde o Usuário visualiza seu dados e solicita a edição dos mesmos ou o exclui. <?php include "../init.php"; include "../config.php"; include "../check.php"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Liga RE$ENHÃO 2020</title> </head> <body> <div> <h1>Editando Usuários</h1> <table> <tr> <td align="center" width="350">Nome</td> <td align="center" width="350">Email</td> <td align="center" width="150">Senha</td> <td align="center" width="250">Nº do WhatsApp</td> <td align="center" width="250">Sua Foto</td> <td align="center" width="250">Time no Cartola</td> <td align="center" width="350">Ações</td> </tr> <?php $id = $_GET['id']; $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'"); foreach ($sql as $res) { echo "<tr>"; echo "<td align='center'>".$res['name']."</td>"; echo "<td align='center'>".$res['email']."</td>"; echo "<td align='center'>".$res['password']."</td>"; echo "<td align='center'>".$res['celular']."</td>"; echo "<td align='center'><img style='height:50%; width:auto; max-width:150px;' src='upload/".$res['foto']."'/></td>"; echo "<td align='center'><img style='height:; width:auto; max-width:150px;' src='upload/".$res['t_cartola']."'/></td>"; echo '<td align="center"> <a id="nav" href="update_usuario.php?id='.$res['id'].'"> <img src="img/edite.png" title=" Editar Usuário "></a> <span><img width="30px" src="img/mito_vazio.png"></span> <a id="nav" href="excluir.php?id='.$res['id'].'"> <img src="img/delete.png" title=" Excluir Usuário "></a> </td>'; echo "</tr>"; } ?> </table> </div> </body> </html> <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> <script src="js/ajax.js"></script> Aquivo ajax.js - Requisição AJAX. $(function(){ $("#carregando").hide(); $("a#nav").click(function(){ pagina = "arquivos/"+$(this).attr("href") $("#carregando").ajaxStart(function(){ $(this).show(); }) $("#carregando").ajaxStop(function(){ $(this).hide(); }) $(".conteudo").load(pagina) return false; }) }) Aquivo update_usuario.php - Onde o Usuário poderá alterar os seus dados UPDATE. <?php require "../init.php"; include "../config.php"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Liga RE$ENHÃO 2020</title> </head> <body> <div> <?php $id = $_GET['id']; $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'"); $sql->execute(); foreach($sql->fetchAll() as $res); if(isset($_POST['atualizar'])){ $name=addslashes(trim($_POST['name'])); $ur=addslashes(trim($_POST['ur'])); $email=addslashes(trim($_POST['email'])); $password=addslashes(trim($_POST['password'])); $celular=addslashes(trim($_POST['celular'])); $update = $db->prepare("UPDATE cadastro SET name=:name, ur=:ur, email=:email, password=:password, celular=:celular WHERE id = '$id'"); $update->bindValue(':name', $name); $update->bindValue(':ur', $ur); $update->bindValue(':email', $email); $update->bindValue(':password', $password); $update->bindValue(':celular', $celular); $update->execute(); if($update == ''){ echo "<script language='javascript'> window.alert('Erro ao alterar dados!'); </script>"; }else{ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Dados atualizados com sucesso!'); </script>"; }} ?> <!-- ////// Formlário dados pessoais do Usuário \\\\\\ --> <div style="background-color:#fff;height:auto;width:33%;color:#000;float:left;"> <form action="" method="post" enctype="multipart/form-data"> <label for="name"><span>Nome: </span></label> <input type="text" name="name" value="<?php echo $res['name']; ?>"> <br /> <label for="ur"><span>Estado: </span></label> <input type="text" name="ur" value="<?php echo $res['ur']; ?>"> <br /> <label for="celular"> <span>E-mail: </span> <?php echo $res['email']; ?> </label> <input hidden="" type="text" name="email" value="<?php echo $res['email']; ?>"> <input hidden="" type="text" name="password" value="<?php echo $res['password']; ?>"> <br /> <label for="celular"><span>Celular: </span></label> <input type="text" name="celular" value="<?php echo $res['celular']; ?>"> <br /> <input type="submit" name="atualizar" value="Atualizar"> </form> </div> <?php # UPDATE da Foto if(isset($_POST['enviar'])){ $id = $_GET['id']; $foto = $_FILES['foto']; $sqlUpdate = "UPDATE cadastro SET foto = ? WHERE id = ?"; $dados = array($foto, $id); $pasta = '../upload/'; if (isset($_POST['enviar'])){ $check = @$_POST['apagar']; foreach($check as $foto){ $delcheck = $sqlUpdate = ("UPDATE cadastro SET foto = ? WHERE id = ?"); unlink($pasta.'/'.$foto); if ($delcheck >= '1'){ echo 'Imagem deletada com sucesso!'; }else{ echo 'Erro ao deletar imagem, tente novamente!'; }}}} ?> <?php include "Upload.class.php"; if ((isset($_POST["enviar"])) && (! empty($_FILES['foto']))){ $upload = new Upload($_FILES['foto'], 1000, 800, "../upload/"); echo $upload->salvar(); } ?> <div> <form action="" method="POST" enctype="multipart/form-data"> <?php $id = $_GET['id']; $sql = $db->prepare("SELECT * FROM cadastro WHERE id='$id'"); $sql->execute(); foreach($sql->fetchAll() as $res){ ?> <input size="1" type="hidden" name="id" value="<?php echo $res['id'];?>" readonly> <input type="hidden" type="checkbox" name="apagar[]" value="<?php echo $res['foto'];?>" checked readonly> <?php } ?> <img src="../upload/<?php echo $res['foto'];?>"/><br /> <label>Selecione uma nova imagem:</label><br /> <input type="file" name="foto" accept="image/*" ><br /> <input type="submit" name="enviar" value="Atualizar"> </form> </div> </div> </body> </html> E por fim o Arquivo Upload.class.php - Faz o Upload da imagem. <?php class Upload{ private $arquivo; private $altura; private $largura; private $pasta; function __construct($arquivo, $altura, $largura, $pasta){ $this->arquivo = $arquivo; $this->altura = $altura; $this->largura = $largura; $this->pasta = $pasta; } private function getExtensao(){ //retorna a extensao da imagem return $extensao = strtolower(end(explode('.', $this->arquivo['name']))); } private function ehImagem($extensao){ $extensoes = array('gif', 'jpeg', 'jpg', 'png'); // extensoes permitidas if (in_array($extensao, $extensoes)) return true; } //largura, altura, tipo, localizacao da imagem original private function redimensionar($imgLarg, $imgAlt, $tipo, $img_localizacao){ //descobrir novo tamanho sem perder a proporcao if ( $imgLarg > $imgAlt ){ $novaLarg = $this->largura; $novaAlt = round( ($novaLarg / $imgLarg) * $imgAlt ); } elseif ( $imgAlt > $imgLarg ){ $novaAlt = $this->altura; $novaLarg = round( ($novaAlt / $imgAlt) * $imgLarg ); } else // altura == largura $novaAltura = $novaLargura = max($this->largura, $this->altura); //redimencionar a imagem //cria uma nova imagem com o novo tamanho $novaimagem = imagecreatetruecolor($novaLarg, $novaAlt); switch ($tipo){ case 1: // gif $origem = imagecreatefromgif($img_localizacao); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt); imagegif($novaimagem, $img_localizacao); break; case 2: // jpg $origem = imagecreatefromjpeg($img_localizacao); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt); imagejpeg($novaimagem, $img_localizacao); break; case 3: // png $origem = imagecreatefrompng($img_localizacao); imagecopyresampled($novaimagem, $origem, 0, 0, 0, 0, $novaLarg, $novaAlt, $imgLarg, $imgAlt); imagepng($novaimagem, $img_localizacao); break; } //destroi as imagens criadas imagedestroy($novaimagem); imagedestroy($origem); } public function salvar(){ $extensao = $this->getExtensao(); //gera um nome unico para a imagem em funcao do tempo $novo_nome = time() . '.' . $extensao; //localizacao do arquivo $destino = $this->pasta . $novo_nome; //move o arquivo if (! move_uploaded_file($this->arquivo['tmp_name'], $destino)){ if ($this->arquivo['error'] == 1) return "Tamanho excede o permitido"; else return "Erro " . $this->arquivo['error']; } if ($this->ehImagem($extensao)){ //pega a largura, altura, tipo e atributo da imagem list($largura, $altura, $tipo, $atributo) = getimagesize($destino); // testa se é preciso redimensionar a imagem if(($largura > $this->largura) || ($altura > $this->altura)) $this->redimensionar($largura, $altura, $tipo, $destino); } include '../config.php'; $id = $_GET['id']; $foto = $_FILES['foto']; $update = $db->prepare("UPDATE cadastro SET foto = '$novo_nome' WHERE id = '$id'"); //Preparo a string de conexão $update->bindParam('id', $id, PDO::PARAM_STR); $update->bindParam('foto', $novo_nome, PDO::PARAM_STR); // Faço o bind dos parametros if(!$update->execute()){ //Executo a query echo "<script language='javascript'> window.alert('Erro ao atualizar Imagem!!!'); </script>"; }else{ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Imagem atualizada com sucesso!'); </script>"; } }} ?>
  18. jonathasouza

    Modal com requisição

    Bom dia, estou com um projeto e preciso fazer que modal faça requisição do banco, que ao apertar o botao confirmar do Modal, coloque o nome da pessoa que tenha feito login na pagina na coluna "Analista", estou com dificuldade nessa parte, sou novo em programação. Obrigado pela ajuda :) Abaixo meu código com HTML, tabela, PHP & Modal. TABELA -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Código <?php $nome = isset($_GET["nome"])? $_GET["nome"]:null; $matricula = isset($_GET["matricula"])? $_GET["matricula"]:null; $solicitacao = isset($_GET["solicitacao"])? $_GET["solicitacao"]:null; $prioridade = isset($_GET["prioridade"])? $_GET["prioridade"]:null; $orgao = isset($_GET["orgao"])? $_GET["orgao"]:null; $conexao = mysqli_connect('localhost', 'root', '', 'analistas'); $query = "SELECT `solicitacao`,`prioridade`,`orgao`, `nome` from `analistas` WHERE `analistas`"; if (mysqli_query($conexao, $query)) { ?> <?php $conexao = mysqli_connect('localhost', 'root', '', 'analistas'); if(mysqli_connect_errno($conexao)){ echo 'Failed to connecto to database'.mysqli_connect_error();} $query= mysqli_query($conexao, "SELECT DISTINCT * FROM tecnicos, ordem"); ?> <?php while($rows = mysqli_fetch_array($query)): ?> <tr> <td><?php echo $rows['solicitacao']; ?></td> <td><?php echo $rows['prioridade']; ?></td> <td></td> <td></td> <td><?php echo $rows['orgao']; ?></td> <td><?php echo $rows['nome']; ?></td> <td></td> </tr> <?php endwhile; ?> </tbody> </table> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title" id="myModalLabel"><strong>Solicitação</strong></h4> </div> <div class="modal-body"> <div class="insertHere"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button class="btn btn-success" type="submit" data-dismiss="modal" onclick="generate()">Confirmar</button> </div> </div> </div> </div>
  19. Jefferson andre

    Ao selecionar a UF atualizar os municipios

    Saudacoes, tenho a seguinte situacao aqui: quando o cliente selecionar a UF os municipios sejam filtrados de acordo, gostaria de usar ajax mas nao estou conseguindo. Segue os trechos: <html> <body> <div class="form-group col-md-2"> <label for="inputestado">Estado</label> <select class="custom-select" name="estado" id="estado" onchange="funcao_localizar_municipios()"> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AM">AM</option> <option value="AP">AP</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RO">RO</option> <option value="RS">RS</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SE">SE</option> <option value="SP">SP</option> <option value="TO">TO</option> </select> </div> <div class="form-group col-md-6"> <label for="inputNome">Municipio</label> <br> <?php $filtro_municipios = $arquivo->prepare("SELECT id, nome_uf, nome_distrito,sigla_uf FROM municipios WHERE sigla_uf='$estado' ORDER BY nome_distrito,nome_uf"); $filtro_municipios->execute(); //print_r($filtro_clientes); ?> <select class="custom-select col-md-12" name="id_municipio" id="id_municipio"> <option value="">Clique para selecionar</option> <?php while ($municipios = $filtro_municipios->fetch()) {?> <option value="<?php echo $municipios['id'] ?>" ><?php echo $municipios['nome_distrito']." - ".$municipios['nome_uf'];?> </option> <?php } ?> </select> </div> <script> function funcao_localizar_municipios(procurar) { var xestado = document.getElementById("estado").value; alert("Busca em desenvolvimento: " + x); document.getElementById("estado").style.background = "red"; if (xestado != "") { $.ajax({ url: 'ajax-db-search_estado.php', method: 'POST', data: {xestado:xestado}, success: buscar_municipios(data){ $('#output').html(data); $('#output').css('display', 'block'); $("#estado").focusout(buscar_municipios(){ $('#output').css('display', 'none'); }); $("#estado").focusin(buscar_municipios(){ $('#output').css('display', 'block'); }); } }); } else { $('#output').css('display', 'none'); } } </script> </body> </html> ajax-db-search_estado.php <?php require_once "conexao_dbo.php"; $estado = $_POST['query']; echo $estado; if (isset($_POST['query'])) { $filtrar_municipios = $arquivo->prepare("SELECT * FROM municipios WHERE sigla_uf LIKE '{$_POST['query']}%' ORDER BY nome_distrito LIMIT 1000"); $filtrar_municipios->execute(); if($filtrar_municipios->rowCount()>0) { foreach($filtrar_municipios->fetchAll() as $filtro_estados{ echo $filtro_estados['sigla_uf']." - ".$filtro_estados['nome_uf']." - ".$filtro_estados['nome_distrito']."<br/>"; } } else { echo "<p style='color:red'>Nenhuma informacao encontrada...</p>"; } } ?>
  20. Bom dia, estou fazendo varias requisições "simultaneas" via ajax para uma mesma página php. Cada requisição quando feito em separado demora cerca de 10s para terminar. O problema é que quando executo todos de uma vez o servidor PARECE ficar "esperando" a requisição anterior terminar. Na prática não está sendo assinc. Pode ver na imagem que na sequencia sempre demora +- 10 segundos a mais que o anterior. Alguém pode me dar uma luz de como resolver isso? Estou no lugar certo para essa pergunta? Edit: Abri no fórum de php por que acredito que o js estã fazendo a requisição de forma assinc corretamente (a julgar pela 4° requisição que terminou antes da 3°)
  21. jonathasouza

    Ajuda no PHP porfavor?

    Como eu poderia colocar um botão no para setar um valor na tabela do php? meu codigo php abaixo, eu gostaria que ele colocasse o valor onclick $nome na parte do analista da tabela via modal. <?php $nome = isset($_GET["nome"])? $_GET["nome"]:null; $matricula = isset($_GET["matricula"])? $_GET["matricula"]:null; $solicitacao = isset($_GET["solicitacao"])? $_GET["solicitacao"]:null; $prioridade = isset($_GET["prioridade"])? $_GET["prioridade"]:null; $orgao = isset($_GET["orgao"])? $_GET["orgao"]:null; $conexao = mysqli_connect('localhost', 'root', '', 'analistas'); $query = "SELECT `solicitacao`,`prioridade`,`orgao`, `nome` from `analistas` WHERE `analistas`"; if (mysqli_query($conexao, $query)) { ?> <?php $conexao = mysqli_connect('localhost', 'root', '', 'analistas'); if(mysqli_connect_errno($conexao)){ echo 'Failed to connecto to database'.mysqli_connect_error();} $query= mysqli_query($conexao, "SELECT DISTINCT `solicitacao`, `prioridade`, `orgao` FROM ordem"); ?> <?php while($rows = mysqli_fetch_array($query)): ?> <tr> <td><?php echo $rows['solicitacao']; ?></td> <td><?php echo $rows['prioridade']; ?></td> <td></td> <td></td> <td><?php echo $rows['orgao']; ?></td> <td></td> <td></td> </tr> <?php endwhile; ?> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" id="myModalLabel"><strong>Solicitação</strong></h4> </div> <div class="modal-body"> <div class="insertHere"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button> <button class="btn btn-success" data-dismiss="modal" value="Add Item" onClick="addRow('OrderTable')">Confirmar</button> </div> </div> </div> </div>
  22. Artes Ussler

    Exclusão sem refresh

    Olá Utilizo um sistema de cadastro de notícias com campos para imagens. Na parte de edição das notícias, existe um checkbox que, ao selecionado, exclui a imagem quando clicado no Atualizar e a página é recarregada e o PHP executado. Mas eu queria mudar isso. Gostaria que a imagem fosse excluída sem dar um refresh na página. Seria algo como na imagem abaixo: você clica no botão Excluir, aparece uma mensagem se deseja realmente excluir a imagem e você confirma sem recarregar a página. Tem como fazer? Fico grato por qualquer dica.
  23. Saudações mestres, Como faço para ajustar o programa abaixo para calcular a diferença entre duas variaveis que armazenam horario no ajax quando ocorre um evento onblur? O programa funciona com numeros mas nao com tempo, depois que eu pegar a diferenca entre os horarios quero multiplicar por uma terceira variavel. <html> <body> <script> function calcular() { var num1 = Number(document.getElementById("hora_saida").value); var num2 = Number(document.getElementById("hora_entrega").value); var elemResult = document.getElementById("resultado"); if (elemResult.textContent === undefined) { elemResult.textContent = "O resultado eh " + String(num1 + num2) + "."; } else { // IE elemResult.innerText = "O resultado eh " + String(num1 + num2) + "."; } } </script> <label>Horario de saida</label> <input type ="time" name="hora_saida" id="hora_saida"onblur="calcular();"> <label>Horario da entrega</label> <input type ="time" name="hora_entrega" id="hora_entrega"onblur="calcular();"> <div id="resultado"></div> <span id="resultado"></span> </body> </html>
  24. Jefferson andre

    Como pegar o retorno do ajax e mostrar na tela

    Bom dia, alguem me ajude a fazer funcionar este pequeno script usando ajax. Preciso pegar a resposta do console e colocar na tela na id buscar2 Resposta do console: {"valor_hr_viagem":"10","valor_por_km":"8","valor_apos_18":"7","valor_sabado":"6","valor_domingo":"5","id":"834"} teste_ajax.html <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> </head> <body> <button class="btn btn-default" id="buscar3" type="button">Buscar2</button> <div id="dados2">Aqui será inserindo o resultado da consulta...</div> <div id="valor_fixo_cliente">teste</div> <!-- SCRIPT NECESSARIO PARA O AJAX FUNCIONAR // <script src="jquery.2.1.3.min.js"></script> !--> <script src="jquery.2.1.3.min.js"></script> <script> function buscar3($id_cliente) { //O método $.ajax(); é o responsável pela requisição $.ajax ({ //Configurações type: "POST",//Método que está sendo utilizado. dataType: "json",//É o tipo de dado que a página vai retornar. url: "busca3.php",//Indica a página que está sendo solicitada. //função que vai ser executada assim que a requisição for enviada beforeSend: function (mensagem_retorno) { $("#dados2").html("Carregando..."); $("#valor_fixo_cliente").html("Carregando..."); }, data: {id_cliente: "834"},//Dados para consulta //função que será executada quando a solicitação for finalizada. success: function (mensagem_retorno) { console.log (mensagem_retorno); $("#dados2").html(mensagem_retorno.conteudo); } }); } $('#buscar3').click(function () { buscar3($("#id_cliente").val()) }); </script> </body> </html> buscar3.php <?php require('conexao_dbo.php'); include('error_report.php'); $id_procurar = $_POST['id_cliente']; $sql = "SELECT * FROM clientes WHERE id='$id_procurar'"; $sql = $arquivo->query($sql); if($sql->rowCount()>0) { $linha = $sql->fetch(); $conteudo = json_encode( array ("valor_hr_viagem" => $linha['valor_hr_viagem'], "valor_por_km" => $linha['valor_por_km'], "valor_apos_18" => $linha['valor_apos_18'], "valor_sabado" => $linha['valor_sabado'], "valor_domingo" => $linha['valor_domingo'], "id" =>$linha['id'] ) ); echo $conteudo; } ?> estrutura da tabela clientes em anexo
  25. Olá! Recentemente fiz uma postagem aqui no fórum a respeito de se carregar valores em um input text baseando-se na opção selecionada em uma select box, onde obtive uma solução. Por conta disso resolvi adicionar um complemento neste meu código onde o mesmo deve carregar valores corretamente dentro de uma input text utilizando o plugin TypeAhead.js e o evento onchange do Jquery. Como forma de demonstrar a minha dúvida em funcionamento, criei uma página como forma de testar a solução. O que ocorre é que quando seleciona uma opção no select box "Categorias", o Ajax manda um request para o php script onde o mesmo retorna os valores corretamente em JSON conforme a imagem do console do navegador Chrome abaixo: Até aqui os valores relacionados com a opção selecionada no select box "Categorias" são carregados corretamente porém se eu não atualizar a página "F5" e ao mesmo tempo eu selecionar alguma outra opção dentro do select box, o input text carrega além dos valores relacionados, todos os valores não relacionados com a opção selecionada ou seja, o input text somente carrega os valores corretamente se eu atualizar a página em questão. Abaixo uma imagem demonstrando os valores carregados em uma input text quando seleciono uma outra opçao no select box quando não se atualiza a página. Todos os valores não relacionados também são carregados: Abaixo publico o html e os scripts Ajax, Typeahead e PHP que estou utilizando neste projeto: HTML <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <!-- jQuery library --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <!-- jQuery UI library --> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-3-typeahead/4.0.2/bootstrap3-typeahead.min.js"></script> </head> <body> <div class="container"> <br> <h1>DYNAMIC TWITTER TYPEAHEAD</h1> <br> <div class="row"> <?php // Include the database config file include_once 'dbConfig.php'; // Fetch all the country data $query = "SELECT * FROM categorias ORDER BY categoria ASC"; $result = $db->query($query); ?> <!-- categoria dropdown --> <div class="col-md-4"> <select id="categoriaFK" name="categoriaFK" class="form-control"> <option value="">seleciona categoria</option> <?php if($result->num_rows > 0){ while($row = $result->fetch_assoc()){ echo '<option value="'.$row['categoriaID'].'">'.$row['categoria'].'</option>'; } }else{ echo '<option value="">Categoria não encontrada</option>'; } ?> </select> </div> <div class="col-md-4" id="prod"> <div ><input type="text" name="produtos" id="produtos" class="form-control input-lg typeahead" autocomplete="off" placeholder="" /></div> </div> <div class="col-md-4"> <div id="imagem" name="imagem"></div> </div> </div> </div> </body> </html> No script abaixo, o Ajax envia um request para o script PHP que por sua vez retorna os valores em JSON para o Ajax que envia para o TypeAhead e carrega o input text com valores relacionados. Após selecionar uma opção no input text, o Jquery envia um valor relacionado para a div "#imagem" : $(document).ready(function(){ var produtos; var nomes = []; // array var lista = {}; // objeto $('#categoriaFK').on('change', function(){ var queryID = $(this).val(); $.ajax({ url:"fetch.php", method:"POST", data:{categoria:queryID}, dataType:"json", success:function(data){ console.log(data); $.each(data, function(i, optionHtml){ $('#produtos').append(optionHtml); }); $("#imagem").empty(''); $(".typeahead").val(''); produtos = data; } }); $('.typeahead').typeahead({ source: function(query, result) { $.each(produtos, function(idx, item){ if(!~nomes.indexOf(item.nomeProduto)) nomes.push(item.nomeProduto); lista[item.nomeProduto] = item.imagem; }); return result(nomes); }, afterSelect: function (data) { var img = lista[data]; $('#imagem').html(img); }, }); }); }); Abaixo, o php script que seleciona os valores baseando-se no valor selecionado do select box e os envia em formato JSON para o Ajax: <?php require_once 'dbConfig.php'; if(!empty($_POST["categoria"])){ $query = " SELECT * FROM produtos WHERE categoriaFK = ".$_POST['categoria']." "; $result = $db->query($query); $data = array (); if ( $result->num_rows > 0 ) { while($row = $result->fetch_assoc ()) { $data[] = $row; } header("Content-type: application/json; charset=utf-8 cache-control: no-cache, no-store, must-revalidate"); echo json_encode($data); exit(); } } ?> No caso como mencionado acima, nesta página que criei demonstra o funcionamento de todo o código acima, porém acredito que devo modificar o script para que o mesmo carregue valores corretamente quando seleciono alguma opção no select box "Categorias" sem precisar atualizar a página para que o mesmo carregue corretamente. Como posso proceder? Desde já agradeço a atenção de todos.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.