jquery ui autocomplete + php does not work

Asked

Viewed 378 times

1

I have the following codes that are not working: Maybe I should add something to them, but I don’t know how... JS:

<script>
  $(document).ready(function(){
    $('#busca').autocomplete(
    {
      source: "busca_empresa.php",
      minLength: 1
    });
});
</script>

HTML

<label for="busca">
 <span>Pesquisa:</span>
 <input type="text" id="busca"/>
</label>

PHP

<?
include('conecta.php');

$pesquisa = $_GET['term']; 
$sql = "SELECT * from anuncios where nome_emp like '%$pesquisa%'";
$query = mysqli_query($conexao,$sql);

while ($ln = mysqli_fetch_array($query)) {
	echo json_encode($ln['nome_emp']);
}

1 answer

1


This problem is because you are always generating a new JSON.

You must create a json ARRAY, so you can use it:

<?php
//...

$json = array(); 
// Cria uma array (para remover erro em algumas versões do PHP)

while ($ln = mysqli_fetch_array($query)) {
    $json[] = $ln['nome_emp']; 
    // Adiciona um valor a cada "while" dentro da array.
}

echo json_encode($json);
// Exibe toda a array ($json) em JSON.

//..
?>

Comparison:

YOUR CODE:

Suppose there is this code, using its function, of the question:

$dbs = array('biscoito', 'bolacha', 'cogumelo');
// Simulação de um "banco de dados

foreach($dbs as $db){
// Mesmo que um while

echo json_encode($db);
}

Upshot:

"biscoito""bolacha""cogumelo"

MY CODE:

Suppose you use my code:

$dbs = array('biscoito', 'bolacha', 'cogumelo');
// Simulação de um "banco de dados

$json = array();
// Cria uma array (para remover erro em algumas versões do PHP)

foreach($dbs as $db){
// Mesmo que um while

$json[] = $db;
}

echo json_encode($json);
// Exibe toda a array ($json) em JSON.

Upshot:

["biscoito","bolacha","cogumelo"]

Browser other questions tagged

You are not signed in. Login or sign up in order to post.