8768 sujets

Développement web côté serveur, CMS

Bonjour,

j'ai un petit problème et je ne connais pas la meilleure solution à adopter.

Je souhaite créer un autocomplète (php/mysql/javascript). J'ai crée un code qui fonctionne parfaitement, mais dans celui ci je n'ai que 6 résultats possible. Comment faire pour passer de 6 à 36 000 résultats possible. De plus les 36 000 résultats se trouve dans une bdd.

Voici le code qui fonctionne :


$query = $_GET['query'];
 
$values = ['Mickael',
            'Julie',
            'Francis',
            'Jonathan',
            'Stephen',
            'Alonso'];
 
if ($query) {
    foreach ($values as $key => $value) {
        if (stripos($value, $query) === false) {
            unset($values[$key]);
        }
    }
}
 
echo json_encode(array_values($values));


Et voila ce que j'ai essayé de faire mais sans succès :


$query = $_GET['query'];

$sql = "SELECT name, zipcode, server FROM cities";

$requete = $bdd -> prepare($sql);
$requete->execute();

while ($donnees = $requete->fetch()) {

     $ar[] = "'".$donnees['name']."'";
}

$values1 = implode(',', $ar);

$values = '['.$values1.']';




if ($query) {
	
    foreach ($values as $key => $value) {
        if (stripos($value, $query) === false) {
            unset($values[$key]);
        }
    }
}

echo json_encode(array_values($values));


Merci d'avance a ceux qui pourront m'aider.