Jump to content

Question

Olá pessoal, 

Estou desenvolvendo uma aplicação onde preciso carregar dados de um arquivo XML em um campo de formulário, porém para carregar esses dados em um select ficaria com muitas opções.
Gostaria de utilizar um input text onde um autocomple carrega os dados conforme o usuário for digitado. Tentei encontrar na internet alguma coisa parecida utilizando Jquery, Ajax e Json , mas não como preciso. Estou usando o modelo MVC  e PDO.  

Sou novo no fórum, me desculpem se houver uma pergunta similar. Agrdeço desde já.

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Não entendi sua dúvida... Você pesquisou "alguma coisa parecida utilizando Jquery, Ajax e Json , mas não como preciso. "? Não tem como você fazer isso na web sem ser por javascript. A dificuldade é você estar utilizando xml e não JSON? Por que se for isso é só usar a mesma lógica para o tipo de arquivo que você está utilizando...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By AlexandrePrezzi
      Estou fazendo um formulário onde tenho que enviar um upload de videos .... fiz o mesmo procedimento para imagens e funciona perfeitamente... porem para vídeo nao...
       
      Código do  Formulário
       
      <form id="Form_AddVideos" class="form-group" method="POST" action="javascript:func()" enctype="multipart/form-data"> <input type="hidden" id="ACAO_VIDEO" name="ACAO_VIDEO" value="INSERT_NEW_VIDEOS" /> <input type="hidden" id="ipv100_video" name="ipv100_video" value="<?php echo $_GET['id_pv100']; ?>" /> <input type="hidden" id="tipo_video" name="tipo_video" value="V" /> <div class="container"> <div class="row"> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <div class="form-group"> <label for="add_videos">Adicionar Fotos</label><br /> <input class="form-control form-control-sm" type="file" name="video[]" multiple="multiple" id="video" accept="video/*" /> </div> </div> </div> <button type="submit" id="btn_Gravar_video" title="Gravar" name="wGravar_video" class="btn btn-primary tp" value="TELA"> <i class="fa fa-save"></i> Gravar </button> <button type="button" class="btn btn-danger tp btn_fechar_modal_cliente" title="Cancelar" data-dismiss="modal" style="margin-left: 5px;"> <i class="fa fa-times"></i> Cancelar </button> </div> </form>  
      Script Ajax para enviar os dados
       
      <script type="text/javascript"> $(document).ready(function (e) { $("#Form_AddVideos").on('submit',(function(e) { e.preventDefault(); $.ajax({ enctype: 'multipart/form-data', url: "src/controller/request_videos.php", type: "POST", data: new FormData(this), contentType: false, cache: false, processData:false, beforeSend : function() { //$("#preview").fadeOut(); $('#resultErroVid').html("<img src='img/aguarde.gif' />"); }, success: function(g) { var objVid = JSON.parse(g); if (objVid.rst){ if ($('#ACAO_VIDEO').val() === 'INSERT_NEW_VIDEOS'){ document.getElementById('wOKDivVid').style.visibility = "visible"; document.getElementById('wOKDivVid').style.display = "block"; $('#resultOKVid').html(objVid.msg); setTimeout(function(){ document.getElementById('wOKDivVid').style.visibility = "hidden"; document.getElementById('wOKDivVid').style.display = "none"; $(".modal_proprio_videos").hide(); document.location.reload(true); }, 1200); } else { document.getElementById('wErrorDivVid').style.visibility = "visible"; document.getElementById('wErrorDivVid').style.display = "block"; $('#resultErroCli').html(objVid.msg); setTimeout(function(){ document.getElementById('wErrorDivCli').style.visibility = "hidden"; document.getElementById('wErrorDivCli').style.display = "none"; $(".modal_proprio_imagens").hide(); document.location.reload(true); }, 1200); } } else { //fEnableBtn(Form_Cli_GQPS); document.getElementById('wErrorDivVid').style.visibility = "visible"; document.getElementById('wErrorDivVid').style.display = "block"; $('#resultErroVid').html(objVid.msg); setTimeout(function(){ document.getElementById('wErrorDivVid').style.visibility = "hidden"; document.getElementById('wErrorDivVid').style.display = "none"; $(".modal_proprio_imagens").hide(); document.location.reload(true); }, 2000); }//fim do if/else objCli } }); })); }); </script> Arquivo php request .....(pedaço)
       
      if (@$_POST['ACAO_VIDEO'] == 'INSERT_NEW_VIDEOS'){ require_once '../model/setaqueryGQPS.php'; require_once '../model/conecta.php'; //require_once '../model/zConst_GQPS.php'; //require_once '../../../zLib.php'; $wEMP = '001'; $wPV100 = $_POST['ipv100_video']; $video = $_FILES['video']; if ($_POST['ACAO_VIDEO'] == 'INSERT_NEW_VIDEOS'){ //require_once '../model/zConst_GQPS.php'; if($video != ''){ O que acontece que no $_FILES,  o arquivo não esta sendo salvo na pasta  temporaria..... está vindo vazia essa informação, conforme mostro na imagem ....
       
      Alguem sabe me dizer onde ta o problema ? 
       
      Tenho um procedimento bem semelhante para imagens e funciona perfeitamente.
       
       
       

    • By CiganoA3
      Eu tenho uma situação estranha, que até estou com dificuldades de explicar. Mas vamos la.
       
               Tenho um código ajax que é igual ao que coloquei aqui mudando só endereço da url que fiz para testar este erro que está acontecendo na aplicação. O que ocorre, e que tudo funciona, os dados são coletados, o ciclo dos eventos ocorrem sem problemas, mas ao final do ajax ele redireciona a pagina para ela mesma como uma copia com os parâmetros na url. Vou tentar exemplificar para deixar claro. Vamos supor que tenha um formulário com estes parâmetros de inputs nome e telefone que não tem nada haver com o ajax. O ajax ao completar muda o endereço da url do browser,  algo como isso.  http://endereçodapagina.php?nome=xxxxx&telefone=99912345, carregando a pagina novamente. E este é o comportamento inesperado. E como podem ver o código e muito simples e não vejo razão para este comportamento.
      function OpenParam(idproxima,statusAlvo){ let pf_id=$("#sf_id").val(); let urlRegras="endereco_alvo.php/"+pf_id+"/"+idproxima; $.ajax({ type:"GET", url:urlRegras, success:function(data, textStatus, request){ alert("sucesso"); }, error:function(data){ alert("error"); }, complete:function(xhr, textStatus){ alert("complete"); } }); }  
               
    • By Matheus B. Siqueira
      Fala pessoal, meu problema é o seguinte: Tento retornar os valores do json_encode via AJAX, só que na hora de armazenar no const ele da erro de:
      <b>Notice</b>: Undefined variable: videos_pendentes in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br /> <br /> <b>Notice</b>: Trying to access array offset on value of type null in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br /> null); Não sei qual seria a melhor forma de retornar esses dados, alguma sugestão?
      AJAX:
      $('#btn-lista-videos-carousel').click(function() { var nome_monitor = $("#nomecomp").val(); $.ajax({ url: 'pesquisar_video_pendente.php', data: {nome_monitor}, dataType: 'json', type: "POST", complete: function(data) { const videos_pendentes = JSON.parse(<?php echo json_encode($videos_pendentes[0]) ?>); let itens = ''; let indicadores = ''; $('#botaobaixar').hide(); $('#tudo_monitor').hide(); $('#carouselExampleIndicators_2').hide(); if (videos_pendentes.length > 0) { videos_pendentes.forEach(function(video, indice) { indicadores += '<li data-target="#carouselExampleIndicators" data-slide-to="' + indice + '" class="' + (indice == 0 ? 'active' : '') + '"></li>' itens += '<div data-link_video="' + video.link_video + '" data-id="' + video.idvideo_monitor + '" data-titulo="' + video.titulo_video + '" data-situacao="' + video.situacao + '" class="carousel-item ' + (indice == 0 ? 'active' : '') + '">'; itens += ' <iframe width="100%" height="350" src="https://www.youtube.com/embed/' + video.link_video + '" frameborder="0" allowfullscreen></iframe>' itens += '</div>'; }); $('#tudo_monitor').show(); $('#carouselExampleIndicators').show(); $('#carousel-indicadores').html(indicadores); $('#carousel-itens').html(itens); } else { alert('Nenhum vídeo pendente'); } } }); }); E o meu PHP, a qual busca os dados no mysql:
      <?php $monitor = $_POST['nomecomp']; $servidor = 'localhost'; $usuario = 'root'; $senha = 'root'; $banco = 'onteach'; $conexao = mysqli_connect($servidor, $usuario, $senha, $banco); $consulta = "SELECT * FROM video_monitor WHERE video_monitor.monitor = '$monitor' AND video_monitor.pendente = 1 OR video_monitor.pendente = 3"; $resultados = mysqli_query($conexao, $consulta); $videos_pendentes = array(); while ($video = mysqli_fetch_assoc($resultados)) $videos_pendentes[] = $video; mysqli_free_result($resultados); mysqli_close($conexao); $videos_pendentes = json_encode($videos_pendentes); echo json_encode($videos_pendentes); ?>  
    • By Matheus B. Siqueira
      Olá, tento fazer uma requisição para atualização de item do accordion no mysql, porém apenas um item é atualizado.
      O código funciona da seguinte forma: É buscado perguntas referente ao vídeo selecionado no carousel, logo após, o código da Amostra de Código 1, cria os cards dentro do modal. Cada card é referente a uma pergunta diferente registrada no Banco de Dados.
      Porém, ao tentar atualizar um item do MYSQL, dentro do card, no textarea, o primeiro item (1º pergunta) desse accordion é atualizado, o segundo item (2º pergunta) não é atualizado.
      Cada pergunta possui um id no MYSQL, bem como, um assunto, uma resposta, uma pergunta... de acordo com a Figura 01.
      Vale ressaltar que, de acordo com a Amostra de Código 2, é buscado juntamente com o AJAX, todas as perguntas referente ao vídeo selecionado no carousel.
      Amostra de Código 1:
      $(document).ready(function() { $(function() { $('#responder_duvidas').click(function() { var codigoVideo2 = $('.carousel-item.active').attr('data-link_video'); var accordion2 = ""; $.post("buscar_duvida_monitor_resp.php", { codigo_video_monitor: codigoVideo2, }, function(data2, status) { if (data2 !== "Fail") { $("#dynamic_accordion #accordion").html(accordion2); // Adiciona essa linha $.each(JSON.parse(data2), function (index2, duvida3) { accordion2 += '<div class="card" style="margin: 5px">'; accordion2 += '<div class="card-header" id="heading'+index2+'">'; accordion2 += '<h5 class="mb-0">'; accordion2 += '<button class="btn btn-link" data-toggle="collapse" data-target="#collapse'+index2+'" aria-expanded="true" aria-controls="collapse'+index2+'">'; accordion2 += duvida3.assunto; accordion2 += '</button>'; accordion2 += '</h5>'; accordion2 += '</div>'; accordion2 += '<div id="collapse'+index2+'" class="collapse" aria-labelledby="heading'+index2+'" data-parent="#accordion">'; accordion2 += '<div class="card-body">'; accordion2 += '<div style="background: #ddd; color #fff; padding: 10px 20px; border-radius: 5px">'; accordion2 += duvida3.pergunta; accordion2 += '</div>'; accordion2 += '<hr>'; accordion2 += '<div style="background: #fff; color #fff; padding: 10px 20px; border-radius: 5px">'; accordion2 += '<form method="post" enctype="multipart/form-data">'; accordion2 += '<textarea class="form-control" name="resposta" id="resposta" required>'+duvida3.resposta+'</textarea>'; accordion2 += '<input type="hidden" id="id_duvidas" value="'+duvida3.idduvidas+'" />'; accordion2 += '<br><button type="button" id="enviar_resposta" class="btn btn-success btn-sm">Enviar resposta</button>'; accordion2 += '</form>'; accordion2 += '</div>'; accordion2 += '</div>'; accordion2 += '</div>'; accordion2 += '</div>'; $("#dynamic_accordion #accordion").html(accordion2); }); } }); }); $(document).on("click", "#enviar_resposta",function(){ $.ajax({ url: "atualizar_resposta.php", method: "POST", data: { resposta: $('#resposta').val(), idduvidas: $('#id_duvidas').val() }, success: function(res) { var data = JSON.parse(res); alert((data.success == true) ? "Pergunta atualizada" : "Pergunta não atualizada"); $('.modal-backdrop').remove(); return; } }); // fecha modal $("#modalDuvidas").modal("hide"); }); }); }); Figura 1:

       
       
      Amostra de Código 2:
      <?php if (isset($_POST['idduvidas']) && isset($_POST['resposta'])) { $id_resposta = $_POST['idduvidas']; $resposta = $_POST['resposta']; $servidor = 'localhost'; $usuario = 'root'; $senha = 'root'; $banco = 'onteach'; $conexao = mysqli_connect($servidor,$usuario,$senha,$banco); $consulta2 = "UPDATE duvidas SET duvidas.resposta = '$resposta' WHERE duvidas.idduvidas = '$id_resposta'"; die(json_encode(['success'=>(mysqli_query($conexao, $consulta2))])); } Figura 2 (FIGURA COMPLEMENTAR APRESENTANDO O ACCORDION NO WEBSITE)

       
      Por fim, este tópico auxilia em um tema que é específico, porém, pode ser utilizado para outros fins de programação, bem como, a utilização de definição de váriantes em accordion com maiores itens.
      Desde já, agradeço.
       
×

Important Information

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