nmoa Posted August 11, 2016 at 02:15 PM Report #598084 Posted August 11, 2016 at 02:15 PM boas estou aqui com uma questão que me está a dar volta à cabeça necessito de pasar um var por ajax para um ficheiro php e depois nesse ficheiro php fazer com que volte com respostas para o ficheiro inicial objectivo: validar uma palavra na base de dados e lançar uma resposta consoante o resultado tenho assim o ficheiro inserir.php <label class="field select"> <input type="text" name="clientes" size="30" class="clientes gui-input" placeholder="Escreva o nome do cliente"> </label> <div id="cliente"></div> <script> $(document).ready(function (){ $('input.clientes').typeahead({ name: 'clientes', remote: 'cnt/clientes.php?query=%QUERY' }); $(".clientes").focusout(function (){ var palavra = $(".clientes").val(); $.ajax({ url:"entrada.php?page=36&palavra="+palavra, method:"POST" }); return false; }) }) </script> e o ficheiro que ira receber a var assim <div class="panel-body pn"> <?php require_once ("../connect.php");connect(); $word = $_GET["palavra"]; $clientes = mysql_query("SELECT * FROM clientes where nome LIKE '%" . $word . "%'"); $conta = mysql_num_rows($clientes); echo $word; ?> <script> $(document).ready(function (){ var conta = "<?php echo $conta ?>"; console.log(conta); if (conta == 0){ $("#cliente").load("entrada.php?page=37"); }; }) </script> </div> ele esta a passar para esta página mas depois não retorna nada obrigado
HappyHippyHippo Posted August 11, 2016 at 03:17 PM Report #598088 Posted August 11, 2016 at 03:17 PM vamos com calma ... sem qualqwuer tipo de referência a código (especialmente o teu, porque está conceptualmente errado) explica claramente o que pretendes fazer IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
nmoa Posted August 11, 2016 at 03:32 PM Author Report #598089 Posted August 11, 2016 at 03:32 PM vamos com calma ... sem qualqwuer tipo de referência a código (especialmente o teu, porque está conceptualmente errado) explica claramente o que pretendes fazer o que pretendo fazer é escrever uma palavra num input e ele fazer o autocomplete com dados que vai buscar à bd ( isso está a funcionar) o 2º ponto é verficar se essa palavra não existe, se não existe iria aparecer uma informação a informar o utilizador que o nome que escreveu não existe e se pretende criar o registo e é isto ...parece simples assim escrito obrigado
Solution Knitter Posted August 11, 2016 at 03:35 PM Solution Report #598090 Posted August 11, 2016 at 03:35 PM Ignorando os erros do código, uma falta óbvia é o método de tratamento de resposta ao pedido AJAX. Parece que estás a usar jQuery, e se assim for tens de implementar o tratamento da resposta no método .done(), opcionalmente tens também o .fail() para tratar respostas. Pessoalmente, acho que devolver JSON é mais prático, em vez de devolver apenas uma string livre. Pegando no teu código: $(".clientes").focusout(function (){ var palavra = $(".clientes").val(); $.ajax({ url: "entrada.php?page=36&palavra="+palavra, method: "POST" }).done(function(resultado) { //resultado contém o que é devolvido pelo PHP, //pode ser JSON }; return false; })
nmoa Posted August 11, 2016 at 04:03 PM Author Report #598091 Posted August 11, 2016 at 04:03 PM Ignorando os erros do código, uma falta óbvia é o método de tratamento de resposta ao pedido AJAX. Parece que estás a usar jQuery, e se assim for tens de implementar o tratamento da resposta no método .done(), opcionalmente tens também o .fail() para tratar respostas. Pessoalmente, acho que devolver JSON é mais prático, em vez de devolver apenas uma string livre. Pegando no teu código: $(".clientes").focusout(function (){ var palavra = $(".clientes").val(); $.ajax({ url: "entrada.php?page=36&palavra="+palavra, method: "POST" }).done(function(resultado) { //resultado contém o que é devolvido pelo PHP, //pode ser JSON }; return false; }) não esta a retornar nada ...
Knitter Posted August 11, 2016 at 04:08 PM Report #598092 Posted August 11, 2016 at 04:08 PM Tens a certeza que não está a devolver nada? Confirmaste com ferramentas de debug, vendo o conteúdo do pedido e da resposta e os códigos de erro/sucesso? "não está a retornar nada ..." não me diz muito 🙂
nmoa Posted August 11, 2016 at 04:17 PM Author Report #598093 Posted August 11, 2016 at 04:17 PM Tens a certeza que não está a devolver nada? Confirmaste com ferramentas de debug, vendo o conteúdo do pedido e da resposta e os códigos de erro/sucesso? "não está a retornar nada ..." não me diz muito 🙂 pois nao diz mto :/ no php que lança a resposta esta assim <?php require_once ("../connect.php");connect(); $word = $_GET["palavra"]; $clientes = mysql_query("SELECT * FROM clientes where nome LIKE '%" . $word . "%'"); $conta = mysql_num_rows($clientes); echo $conta; ?> deveria aparecer o valor conta ...
HappyHippyHippo Posted August 11, 2016 at 07:47 PM Report #598099 Posted August 11, 2016 at 07:47 PM deveria aparecer o valor conta ... deveria ? como ? porquê ? qual a instrução de código que indica essa o valor deveria aparecer ? e onde ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
nmoa Posted August 12, 2016 at 09:42 AM Author Report #598104 Posted August 12, 2016 at 09:42 AM deveria ? como ? porquê ? qual a instrução de código que indica essa o valor deveria aparecer ? e onde ? o valor que me deveria passar era a quantidade existente da procura ou seja se escrever joao deveria retornar 0 , pois não existe na base de dados nenhum joão obrigado
nmoa Posted August 12, 2016 at 10:24 AM Author Report #598107 Posted August 12, 2016 at 10:24 AM ja consegui resolver obrigado faltava fazer uma coisa com o codigo do #knitter mais uma vez obrigado
HappyHippyHippo Posted August 12, 2016 at 01:27 PM Report #598113 Posted August 12, 2016 at 01:27 PM o valor que me deveria passar era a quantidade existente da procura ou seja se escrever joao deveria retornar 0 , pois não existe na base de dados nenhum joão fiz 6 perguntas e não respondeste a nenhuma ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
nmoa Posted August 12, 2016 at 01:30 PM Author Report #598114 Posted August 12, 2016 at 01:30 PM fiz 6 perguntas e não respondeste a nenhuma ... pois mas já resolvi como disse no post anterior obrigado
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now