Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wilker_lancelot

[Resolvido] auto completar com jquery ui e php

Recommended Posts

ola moçada, gostaria de repassar pra vcs um script em php que não está dando certo, estou quebrando cabeça a horas, mas sem exito, bem eh o seguinte: tenho um form de pesquisa no header do meu site

 

 

 <form name="pesquisar" action="index.php?conteudo=nav/search" method="post">
     <input type="text" name="pesquisa" title="Pesquisa" autocomplete="off" id="auto" class="pes">
     <input type="submit" name="Pesquisar" value="Pesquisar" class="btn" />
   </form>

 

 

ele aponta para uma action chamada search.php que mostra a visualização da pesquisa certo?

estou fazendo uso do jquery ui para o auto complete onde aponto para o id e tudo mais...

 

vejam:

$("#auto").autocomplete({

source: "autoComplete.php",
minLength: 2


});

 

 

e automaticamente este js manda para o arquivo autocomplete para converte-lo em json para mostrar-lona pesquisa;

se eu mudar o source para por exemplo ["times"], ele vai me retornar o time na pesquisa,mas infelizmente não está retrnando nada do me banco

 

 

<?php

$servidor_mysql = "localhost";
$usuario_mysql = "root";
$senha_mysql = "";
$nome_banco = "wlconsultoria"; 

$connect = mysql_connect($servidor_mysql,$usuario_mysql,$senha_mysql) or die ("Impossível estabelecer conexão com o servidor de banco de dados");
mysql_select_db($nome_banco) or die ("Impossivel estabelecer conexão com o banco de dados");

$text = mysql_real_escape_string($_GET['pesquisa']);
$query = "SELECT * FROM destaques_wl WHERE titulo LIKE '%$text%' ORDER BY titulo ASC";
$result = mysql_query($query);
//formata o resultado para JSON
$json = '[';
$first = true;
while($row = mysql_fetch_array($result))
{
  if (!$first) { $json .=  ','; } else { $first = false; }
  $json .= '{"value":"'.utf8_encode($row['titulo']).'"}';
}
$json .= ']';

echo $json;

?>	

 

 

este arquivo está na raiz do site, e o js está numa pasta chamada scripts e o header está na raiz também, please uma luz....

Compartilhar este post


Link para o post
Compartilhar em outros sites

é cara, creio que o teu json q está sendo mal formado.

 

 

        $result = mysql_query($query);

       $arr = Array();
       while($row = mysql_fetch_assoc($result))
       {
         $arr['value'][] = utf8_encode($row['titulo']);
       }
       echo json_encode( $arr );

 

 

chame só a página do banco assim como o amigo sugeriu. Até fazer o php devolver um json correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

[{"value":"cartão de visita"},{"value":"hamsters"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"historia da empresa"},{"value":"Teste"},{"value":"Uma grande moto em parceria conosco aqui na nossa empresa"},{"value":"Web site de cascavel"}] 

 

aê galera aparece isso ai no autocomplete.php,

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto galera consegui resolver, segue a solução,

 

$text = mysql_real_escape_string($_GET['term']);
$query = "SELECT * FROM destaques_wl WHERE titulo LIKE '%$text%' ORDER BY titulo ASC";
$result = mysql_query($query);
//formata o resultado para JSON
$json = '[';
$first = true;
while($row = mysql_fetch_array($result))
{
  if (!$first) { $json .=  ','; } else { $first = false; }
  $json .= '{"value":"'.utf8_encode($row['titulo']).'"}';
}
$json .= ']';

echo $json;

 

Na busca via get eu estava colocando o name do meu input, e no caso o certo seria o 'term', que eh padrão da blibioteca ui..., valeu pela ajuda amigos, até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.