Obtendo o autocomplete do jQuery para trabalhar com o PHP

Eu tenho um campo de preenchimento automático de jQuery com este código:

<code> var tags = ["a", "ab", "abc", "abcd", "adbce", "abcdef", "abcdefg", "abcdefgh", "abcdefghi", "abcdefghij", "abcdefghijk", "abcdefghijkl", "abcdefghijklm", "abcdefghijklmn", "abcdefghijklmno", "abcdefghijklmnop", "abcdefghijklmnopq", "abcdefghijklmnopqr", "abcdefghijklmnopqrs", "abcdefghijklmnopqrst", ];
      $("input#name").autocomplete({
        position: {
          offset: "0 -10px",
        },
        source: tags
      });
</code>

Funcionou corretamente usando o array 'tags' como dados de entrada de amostra.

Agora preciso ter um conjunto de resultados de consulta do MySQL em vez desse array de amostra. O que fiz foi alterar a chamada de função para isso:

<code>$("input#name").autocomplete({
        position: {
          offset: "0 -10px",
        },
        source: "http://absolutepathtofile/autosuggest.php"
      });
</code>

Usei um caminho absoluto para ter certeza de que não estava cometendo algum erro bobo, porque não consigo obter o retorno do arquivo para o preenchimento automático. Eu estive na documentação do jQuery e encontrei alguns exemplos de uso do PHP / MySQL para retornar resultados para o autocomplete, mas não consigo fazê-lo funcionar.

Isso é o que eu tentei em autosuggest.php:

<code>$term = $_REQUEST['term'];
$query = "SELECT * FROM merchants WHERE business_name LIKE '%$term%'";
$result = mysql_query($query);

$k=0;
while($row=mysql_fetch_array($result)){

    $aUsers[$k]=$row['business_name'];
    $k++;

}

echo json_encode($aUsers);
</code>

Eu fiz o mais simples possível, mas não funcionou.

Então testei para ver se o JSON estava sendo enviado, então fiz isso:

<code>$array[0]="test";
$array[1]="test1";

echo json_encode($array);
</code>

E isso não funciona. Não consigo encontrar este problema em nenhum lugar, o que estou fazendo errado? A versão do PHP é 5.3.10 e tem o json_encode (usado antes).

questionAnswers(2)

yourAnswerToTheQuestion